Если аргументы являются именами файлов для чтения, используйте оператор diamond (<>), чтобы получить их содержимое:
while (my $line = <>) {
process_line($line);
}
Если аргументы являются параметрами / переключателями, используйте GetOpt :: Std или GetOpt :: Long, как уже показано slavy13.myopenid.com.
Если есть вероятность, что это что-то еще, вы можете получить к ним доступ, явно пройдя через @ARGV или с помощью команды shift
:
while (my $arg = shift) {
print "Found argument $arg\n";
}
(Обратите внимание, что выполнение этого с shift
будет работать только в том случае, если вы находитесь за пределами всех sub
с. В sub
он будет получать список аргументов, переданных в sub
, а не тех, которые были переданы программа.)