Обнаружил в попавшемся на глаза чужом скрипте чтение переданных через командную строку параметров без упоминания массива @ARGV
. Проверил — работает:
#!/usr/bin/perl
my $shifted = shift or die 'Not shifted';
print "Shifted value is $shifted\n";
Выдаёт
$ ./shift.pl Not shifted at ./shift.pl line 3. $ ./shift.pl ARGV?! Shifted value is ARGV?!
Век живи — век учись.