Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/arrays/13.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Arrays Perl:返回数组语法的索引函数_Arrays_Perl_Syntax - Fatal编程技术网

Arrays Perl:返回数组语法的索引函数

Arrays Perl:返回数组语法的索引函数,arrays,perl,syntax,Arrays,Perl,Syntax,我有一个关于Perl的问题,更多的是出于好奇,而不是出于需要。我已经看到在Perl中有很多方法可以做很多事情,很多时候语法对我来说似乎不直观(我已经看到一些单行程序在做一些令人印象深刻的东西) 所以。。我知道函数split返回一个数组。我的问题是,如何打印此数组的第一个元素而不将其保存到特殊变量中?类似于$(拆分(“,$)[0]。。。但是一个有效的方法。你有99%的成功率 $ perl -de0 Loading DB routines from perl5db.pl version 1.33

我有一个关于Perl的问题,更多的是出于好奇,而不是出于需要。我已经看到在Perl中有很多方法可以做很多事情,很多时候语法对我来说似乎不直观(我已经看到一些单行程序在做一些令人印象深刻的东西)

所以。。我知道函数
split
返回一个数组。我的问题是,如何打印此数组的第一个元素而不将其保存到特殊变量中?类似于
$(拆分(“,$)[0]
。。。但是一个有效的方法。

你有99%的成功率

$ perl -de0

Loading DB routines from perl5db.pl version 1.33
Editor support available.

Enter h or `h h' for help, or `man perldebug' for more help.

main::(-e:1):   0
  DB<1> $a = "This is a test"

  DB<2> $b = (split(" ",$a))[0]

  DB<3> p $b
This
  DB<4> p "'$b'"
'This'
$perl-de0
从perl5db.pl版本1.33加载数据库例程
编辑器支持可用。
输入h或“h”以获取帮助,或输入“man perldebug”以获取更多帮助。
main:(-e:1):0
DB$a=“这是一项测试”
DB$b=(拆分(“,$a))[0]
DB p$b
这
DB p“$b”
‘这’
你的成功率达到99%

$ perl -de0

Loading DB routines from perl5db.pl version 1.33
Editor support available.

Enter h or `h h' for help, or `man perldebug' for more help.

main::(-e:1):   0
  DB<1> $a = "This is a test"

  DB<2> $b = (split(" ",$a))[0]

  DB<3> p $b
This
  DB<4> p "'$b'"
'This'
$perl-de0
从perl5db.pl版本1.33加载数据库例程
编辑器支持可用。
输入h或“h”以获取帮助,或输入“man perldebug”以获取更多帮助。
main:(-e:1):0
DB$a=“这是一项测试”
DB$b=(拆分(“,$a))[0]
DB p$b
这
DB p“$b”
‘这’

尝试打印以空格分隔的列表的第一个元素。
\s+
正则表达式匹配一个或多个要拆分的空白字符

 echo "1 2 3 4" | perl -pe 'print +(split(/\s+/, $_))[0]'

另外,请参见此项。

尝试打印以空格分隔的列表的第一个元素。
\s+
正则表达式匹配一个或多个要拆分的空白字符

 echo "1 2 3 4" | perl -pe 'print +(split(/\s+/, $_))[0]'
另外,请参见此项。

这应该可以:

print ((split(" ", $_))[0]);
您需要一组括号,以便对函数的结果应用数组索引。需要使用外圆括号来绕过
print
参数的特殊解析。

这应该可以做到:

print ((split(" ", $_))[0]);

您需要一组括号,以便对函数的结果应用数组索引。外圆括号用于对
print
参数进行特殊解析。

substr()
不返回数组,它返回字符串。也许你的意思是说
split
返回数组?是的,我的意思是
split
,我的坏
substr()
不返回数组,它返回一个字符串。也许你的意思是说
split
返回一个数组?是的,我的意思是
split
,我的朋友他说他想打印它而不给变量赋值。他说他想打印它而不给变量赋值。