我一直在网上看到Perl脚本中的变量名前面的"my"关键字,但我不知道这意味着什么.我尝试在线阅读手册页和其他网站,但鉴于我看到它与手册之间的区别,我很难辨别它是什么.
例如,它用于获取此帖子中数组的长度: 在Perl中查找数组的大小
但手册说:
我声明列出的变量是封闭的块,文件或eval的本地(词法).如果列出了多个值,则列表必须放在括号中.
它做什么以及如何使用?
我正在查看以下代码段:
my @ret = <someMethod>
return (undef) if( $DB_ERROR );
return (undef) unless ($#ret >= 0);
Run Code Online (Sandbox Code Playgroud)
不$#只是给你一个数组中元素的计数?
这是我面临的情况......
$perl_scalar = decode_json( encode ('utf8',$line));
Run Code Online (Sandbox Code Playgroud)
decode_json返回一个引用.我相信这是一个数组.我如何找到$ perl_scalar的大小?根据Perl文档,使用@name引用数组.有解决方法吗?
该引用由一系列哈希组成.我想得到哈希的数量.
如果我做长度($ perl_scalar),我会得到一些与数组中元素数量不匹配的数字.
我想用perl计算文件夹内的文件数.使用以下代码我可以列出它们,但我不知道如何在perl中计算它们.有帮助吗?
$dir = "/home/Enric/gfs-0.5.2016061400";
opendir(DIR, "$dir");
@FILES = grep { /gfs./ } readdir(DIR);
foreach $file (@FILES) {
print $file, "\n";
}
closedir(DIR);
Run Code Online (Sandbox Code Playgroud)