Perl 在一行中拆分和弹出

标签 perl syntax split

我正在尝试拆分一个字符串并从返回的数组中弹出一个值。我怎样才能在一行中做到这一点?

my $string = 'test,string';

# Split and pop in one line
my $val = pop [split ',', $string];

print $val;

结果应该是 'string'但相反,我得到了这个:

Type of arg 1 to pop must be array (not anonymous list ([]))



这是我的 Perl 版本信息,以防万一:

This is perl, v5.8.8 built for x86_64-linux-thread-multi

最佳答案

push , pop , shift , 和 unshift用于操作数组。听起来您只想从 split 返回的列表中获取最后一个值。 ,您可以通过列表切片获得:

my $val = (split /,/, $foo)[-1];

关于Perl 在一行中拆分和弹出,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32913529/

相关文章:

将 float 拆分为另外两个数字的总和,没有舍入错误

java - 在 Java 中解析来自 String 的输入

linux - 为什么我的 mod_perl 脚本会卡住我的服务器?

c++ - 为文本中的每个单词创建图像的建议

ruby - ruby 2.3 安全运算符 "&."和 CoffeeScript 存在运算符 ".?"之间的差异

java - 在 void 方法中返回 void?

regex - Perl 可选捕获组不起作用?

shell - Perl sqrt,多维数据集问题 : 1 showing up after each line

syntax - Lisp : how to use recursion to defun a function that given a nonnegative integer N, 生成从 1 到并包括 N 的所有整数的列表?

javascript - 如何将转换后的文本字符串还原为原始 HTML 布局?