Argumentos de CLI

Table of contents

  1. Uso
    1. Validar el paso de argumentos

Para manejar argumentos se hace uso de @ARGV el cual es una lista

Uso

sub mul{
	my ($numero_1, $numero_2) = @_;
	return $numero_1 * $numero_2;
}
my ($numero_1, $numero_2) = @ARGV;
print mul($numero_1, $numero_2);

En este ejemplo el script recibe los argumentos $numero_1, $numero_2, en este caso, el argumento $numero_1es el argumento 1, el $numero_2 es el argumento 2 y asi sucesivamente

  • Podemos indicar la cantidad de argumentos que sean pero separados por comas
  • No importa el tipo de dato escalar que se le pase como argumento

Validar el paso de argumentos

Validar si se pasa cierta cantidad de argumentos:

sub mul{
	my ($numero_1, $numero_2) = @_;
	return $numero_1 * $numero_2;
}

unless (@ARGV == 2){
	die "Debes de ingregar dos argumentos"
}

my ($numero_1, $numero_2) = @ARGV;
print mul($numero_1, $numero_2);

Otra forma de hacerlo es:

if (@ARGV != 2) {
    die "Usage: $0 <arg1> <arg2>\n";
}

Y usando el operador ?:

sub mul{
	my ($numero_1, $numero_2) = @_;
	return $numero_1 * $numero_2;
}

sub main{
	my ($numero_1, $numero_2) = @ARGV;
	print mul($numero_1, $numero_2);
}

(@ARGV == 2) ? main() : die "Se requieren exactamente dos argumentos.\n";

En este caso es necesario definir una función extra que se ejecutara cuando la condición sea verdadera (se pasaron todos los argumentos)