检查数组元素 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 开头的文字(以 0x0. 开头的文字除外)应为数字的八进制表示形式。数字的八进制表示仅由数字 0-7 组成(类似于数字的二进制表示仅由数字 0 和 1 组成)。

因此,010895401 应该是数字的八进制表示,但事实并非如此。 010895401 没有意义。