Ich habe eine Zeichenfolge mit möglichen Befehlszeilenargumente (mit einem Read-Eval-Print-Loop-Programm) und ich möchte es ähnlich wie die Befehlszeilenargumente analysiert werden, wenn Getopt :: Long übergeben.Wie analysiere ich eine Zeichenfolge mit GetOpt :: Long :: GetOptions?
Um dies näher auszuführen:
ich eine Zeichenfolge haben
$str = '--infile /tmp/infile_location --outfile /tmp/outfile'
Ich möchte es von GetOptions analysiert werden, so dass es einfacher für mich ist es, neue Optionen hinzuzufügen.
Eine Problemumgehung, die ich mir vorstellen könnte, ist die Zeichenfolge in Whitespace aufzuteilen und @ARGV durch ein neues Array zu ersetzen und dann GetOptions aufzurufen. wie etwas ...
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
);
Gibt es einen guten/besseren Weg?
Das erste Argument ist eine Array-Referenz, Sie wollen also "GetOptionsFromArray ([glob ($ input_line)], ...)" –
Danke Michael .. Hier geht die Änderung im Code ... – Jagmal