我有一个带有可能命令行参数的字符串(使用 Read-Eval-Print-Loop 程序),我希望它在传递给 Getopt::Long 时被解析为类似于命令行参数。
详细说明:
我有一个字符串
$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
);
有什么好的/更好的方法吗?