我对此错误感到困惑,此程序将用户输入1 2 3 2并以特定顺序显示输入。
#!/usr/bin/perl -w
use strict;
use warnings;
print "Enter a number :";
my $num = <STDIN>;
chomp($num);
my @final = split(' ',$num);
my @count;
foreach my $x (@final){
$count[my $x]++;
}
foreach my $x (@count){
print my $x .$count[my $x];
}
我的输出:我收到此错误 “my”变量$ x在第19行的同一语句中掩盖了早期声明
预期产出:
答案 0 :(得分:7)
您经常使用my
。
my
用于为当前范围声明变量(通常是块{...}
)。
要使用变量,您不需要my
。
所以,在你的第一个循环中,执行:
$count[ $x ]++;
在第二个循环中:
print "$x: $count[ $x ]\n";