我是一个Perl新手.我想结合范围运算符来理解Perl上下文.这是我的代码.
use strict;
use warnings;
my $asc = ( 10 .. 50 );
print "$asc\n";
Run Code Online (Sandbox Code Playgroud)
我有两个疑问.
如果表达式(10 ... 50)返回一个数组,那么,因为它是一个标量上下文,所以应该为"asc"变量赋予数组的长度,即41.
如果expression(10 ..50)返回一个列表,那么,因为它是一个标量上下文,所以应该为"asc"变量分配列表中的最后一项,即50.
但是,我得到以下的呼喊..
Use of uninitialized value in range (or flip) at main.pl line ..
Run Code Online (Sandbox Code Playgroud)
感谢并欢迎任何指南.
我正在尝试通过rvm安装ruby 2.0.0-p247.但是,它要求密码.提供sudo密码是正常的吗?我没有在sudoers文件中配置sudo密码.我正在使用Oracle Enterprise Linux 6 x64.
我是Perl的新手.我正在尝试了解Perl上下文.我有以下Perl代码.
use strict;
use warnings;
use diagnostics;
my @even = [ 0, 2, 4, 6, 8 ];
my @odd = [ 1, 3, 5, 7, 9 ];
my $even1 = @even;
print "$even1\n";
Run Code Online (Sandbox Code Playgroud)
当我执行代码时,我得到以下输出...
1
Run Code Online (Sandbox Code Playgroud)
但是,正如我所读到的,下面的标量上下文应该将数组中的元素数量放在标量变量中.
my $even1 = @even;
Run Code Online (Sandbox Code Playgroud)
所以,这对我来说很奇怪.而且,代码内部会发生什么?