У меня есть строка с возможными аргументами командной строки (с использованием программы Read-Eval-Print-Loop), и я хочу, чтобы она анализировалась аналогично аргументам командной строки при передаче в Getopt :: Long.Как разобрать строку с GetOpt :: Long :: GetOptions?
Выработать:
У меня есть строка
$str = '--infile /tmp/infile_location --outfile /tmp/outfile'
Я хочу, чтобы это было разобрано GetOptions так, что легче для меня, чтобы добавить новые опции.
Обходное решение, которое я мог придумать, это разбить строку на пробел и заменить @ARGV на новый массив, а затем вызвать GetOptions. что-то вроде ...
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
);
Есть ли хороший/лучший способ?
Первый аргумент - ссылка на массив, поэтому вы хотите «GetOptionsFromArray ([glob ($ input_line)], ...)» – 2008-09-23 01:10:00