检查数组元素 Perl 中的八进制重复项
Check for octal duplicates in array elements Perl
我有这个循环来检查数组中的重复元素。问题是一旦数组有八进制数,编译器就会抛出错误。我该怎么做?
my @array1 = (010895401, 010895401, 010895402, 010895403);
my %seen;
foreach my $octal (@array1)
{
next unless $seen{$octal}++;
print "'$octal' is duplicated.\n"
}
It throws this error Illegal octal digit '8' and '9' at main.pl line 1, at end of line
以 0
开头的文字(以 0x
或 0.
开头的文字除外)应为数字的八进制表示形式。数字的八进制表示仅由数字 0-7 组成(类似于数字的二进制表示仅由数字 0 和 1 组成)。
因此,010895401
应该是数字的八进制表示,但事实并非如此。 010895401
没有意义。
我有这个循环来检查数组中的重复元素。问题是一旦数组有八进制数,编译器就会抛出错误。我该怎么做?
my @array1 = (010895401, 010895401, 010895402, 010895403);
my %seen;
foreach my $octal (@array1)
{
next unless $seen{$octal}++;
print "'$octal' is duplicated.\n"
}
It throws this error
Illegal octal digit '8' and '9' at main.pl line 1, at end of line
以 0
开头的文字(以 0x
或 0.
开头的文字除外)应为数字的八进制表示形式。数字的八进制表示仅由数字 0-7 组成(类似于数字的二进制表示仅由数字 0 和 1 组成)。
因此,010895401
应该是数字的八进制表示,但事实并非如此。 010895401
没有意义。