Mam ciąg znaków z możliwymi argumentami wiersza poleceń (przy użyciu programu Read-Eval-Print-Loop) i chcę, aby był on przetwarzany podobnie do argumentów wiersza poleceń po przekazaniu do Getopt :: Long.Jak analizować ciąg za pomocą GetOpt :: Long :: GetOptions?
Aby opracować:
Mam ciąg
$str = '--infile /tmp/infile_location --outfile /tmp/outfile'
I ma to być analizowany przez getOptions tak, że łatwiej jest dla mnie, aby dodać nowe opcje.
Jednym z rozwiązań, o których mógłbym myśleć, jest podzielenie łańcucha na białe znaki i zastąpienie @ARGV nową tablicą, a następnie wywołanie metody GetOptions. coś jak ...
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
);
Czy jest jakiś dobry/lepszy sposób?
Pierwszy argument jest odwołaniem do tablicy, więc chcesz "GetOptionsFromArray ([glob ($ input_line)], ...)" –
Dzięki Michael .. tutaj idzie zmiana w kodzie ... – Jagmal