加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 大数据 > 正文

perl 101,在数组变量上使用$获取数组的长度

发布时间:2020-12-15 23:24:06 所属栏目:大数据 来源:网络整理
导读:我期待这给出数组的长度.因为我认为$mo隐含了标量上下文. 但相反,我得到错误: 全局符号“$mo”需要在./a.pl第7行显式包名. #! /usr/bin/perluse strict;use warnings;my @mo = (3,4,5);print( $mo); 更新:: 我认为mo是变量,$mo上的sigil $使用标量上下文.我
我期待这给出数组的长度.因为我认为$mo隐含了标量上下文.

但相反,我得到错误:

全局符号“$mo”需要在./a.pl第7行显式包名.

#! /usr/bin/perl
use strict;
use warnings;

my @mo = (3,4,5);
print( $mo);

更新::
我认为mo是变量,$mo上的sigil $使用标量上下文.我的问题更多的是关于sigil然后实际得到长度.

解决方法

为了获得@mo中元素的数量,请使用标量@mo.

my $num_elements = scalar @mo;

当上下文指示它必须是标量时,您可以省略标量,例如在比较中:

if ($count < @mo) { print "$count is less than the number of elements" }

您还可以使用$#mo,它是最后一个元素的索引(通常比元素数少一个).

my $last_index = $#mo;

当您遍历数组并需要数组索引时,这很有用:

for (0..$#mo)
{
   print "Index $_ is $mo[$_]n";
}

获取数组元素时使用$mo表单:

my $second_element = $mo[1];

$mo本身就是一个完全独立的变量(虽然你可能不应该创建这样一个变量,因为它会让人感到困惑).

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读