我有这个循环检查数组中的重复元素。问题是,一旦数组具有八进制数,编译器就会引发错误。我该如何工作?
my @array1 = (010895401, 010895401, 010895402, 010895403);
my %seen;
foreach my $octal (@array1)
{
next unless $seen{$octal}++;
print "'$octal' is duplicated.\n"
}
它抛出此错误
Illegal octal digit '8' and '9' at main.pl line 1, at end of line
以0
(以0x
或开头的字符除外)开头的文字0.
应该是数字的八进制表示形式。数字的八进制表示形式仅由数字0-7组成(类似于数字的二进制表示形式仅由数字0和1组成)。
因此,010895401
应该是数字的八进制表示形式,但事实并非如此。010895401
没有意义。
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句