perl通过Getopt::Long传递选项卡
我有一个简单的脚本,希望用户能够在其中指定分隔符:perl通过Getopt::Long传递选项卡,perl,tabular,getopt-long,Perl,Tabular,Getopt Long,我有一个简单的脚本,希望用户能够在其中指定分隔符: #!/usr/bin/perl use strict; use warnings; use Getopt::Long; my $sep = "&"; GetOptions('sep:s' => \$sep); my @list = ('a','b','c'); print join($sep,@list); print "\n"; 但如果我似乎没有找到传递“\t”并作为脚本中的选项卡进行计算的方法: perl ~/perl_te
#!/usr/bin/perl
use strict;
use warnings;
use Getopt::Long;
my $sep = "&";
GetOptions('sep:s' => \$sep);
my @list = ('a','b','c');
print join($sep,@list);
print "\n";
但如果我似乎没有找到传递“\t”并作为脚本中的选项卡进行计算的方法:
perl ~/perl_tests/sep.pl -sep \t
perl ~/perl_tests/sep.pl -sep \\t
perl ~/perl_tests/sep.pl -sep '\t'
perl ~/perl_tests/sep.pl -sep '\\t'
perl ~/perl_tests/sep.pl -sep "\t"
perl ~/perl_tests/sep.pl -sep "\\t"
两者都不会产生我想要的输出,即命令行结果中由制表符分隔的值。这实际上是一个shell问题,因为您正在从shell调用perl脚本 在bash中,这是有效的
perl sep.py -sep $'\t'
同时使用ctrl v键,然后按tab键,并将其置于双引号中也有效您是否尝试过实际的制表符?例如,-sep“$(echo-E“\t”)”
。