Además, me gustaría sugerir fuertemente el uso de la forma idiomática de los argumentos de línea de comandos de procesamiento en Perl, Getopt::Long
módulo (y comenzar a usar parámetros con nombre y no basados en posición de las unidades).
Realmente no te importa si tienes < 3 parámetros. Por lo general, le importa si tiene los parámetros a, by C presentes.
En cuanto al diseño de la interfaz de línea de comando, 3 parámetros tratan sobre dónde se encuentra el corte entre los parámetros de posición (cmd <arg1> <arg2>
) y los parámetros nombrados en cualquier orden (cmd -arg1 <arg1> -arg2 <arg2>
).
por lo que están mejor haciendo:
use Getopt::Long;
my %args;
GetOptions(\%args,
"arg1=s",
"arg2=s",
"arg3=s",
) or die "Invalid arguments!";
die "Missing -arg1!" unless $args{arg1};
die "Missing -arg2!" unless $args{arg2};
die "Missing -arg3!" unless $args{arg3};
Mi 'perldoc' no funciona de esa manera. – aschepler
¿Qué versión de perl estás usando? O puede que necesite escapar '@' para su caparazón. Ver 'perldoc -h'. – toolic