Tengo una cadena con posibles argumentos de línea de comando (usando un programa Read-Eval-Print-Loop) y deseo que se analice de manera similar a los argumentos de la línea de comandos cuando se pasa a Getopt :: Long.¿Cómo analizo una cadena con GetOpt :: Long :: GetOptions?
Elaborar:
tengo una cadena
$str = '--infile /tmp/infile_location --outfile /tmp/outfile'
quiero que sea analizado por getOptions para que sea más fácil para mí para añadir nuevas opciones.
Una solución que podría pensar es dividir la cadena en espacios en blanco y reemplazar @ARGV con nueva matriz y luego llamar a GetOptions. algo así como ...
my @arg_arr = split (/\s/, $input_line);
# This is done so that GetOptions reads these new arguments
@ARGV = @arg_arr;
print "ARGV is : @ARGV\n";
GetOptions (
'infile=s' => \$infile,
'outfile=s' => \$outfile
);
¿Hay alguna buena/mejor manera?
El primer argumento es una referencia de matriz, por lo que desea "GetOptionsFromArray ([glob ($ input_line)], ...)" –
Gracias Michael ... aquí va el cambio en el código ... – Jagmal