Как обработать отсутствующие аргументы при выполнении файла .pl в PERL? - PullRequest
0 голосов
/ 16 февраля 2012

У меня есть файл .pl, и мне нужно выполнить файл .pl, используя 2 аргумента.Если пользователь не вводит два аргумента, как я могу обработать ошибку, не передав эти два аргумента?

Ответы [ 3 ]

6 голосов
/ 16 февраля 2012
die "Usage: $0 <first> <second>\n" unless @ARGV == 2;
my ($first, $second) = @ARGV;

(обратите внимание на \n: я запрещаю perl добавлять "at line nnn")

Тем не менее, я всегда пытаюсь найти некоторые нормальные значения по умолчаниюза отсутствующие аргументы в моих сценариях (например, не указан файл вывода => печать в STDOUT и т. д.).

Вам также, вероятно, стоит взглянуть на Getopt :: Long .

0 голосов
/ 16 февраля 2012
  if($#ARGV == -1) { print "No arguments are passsed" }
    if($#ARGV == 0) {print "SINGLE argument" }

В Perl у вас есть специальный массив @ARGV, который содержит все переданные аргументы.Для доступа к ним вы можете использовать ARGV[0] ..... ARGV[n]

0 голосов
/ 16 февраля 2012

Как вам нравится. Традицией является использование значения по умолчанию или выход с состоянием ошибки (т. Е. Не 0) при выводе сводки по части вызова инструкций приложения в STDERR.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...