perl通过Getopt :: Long传递选项卡

时间:2014-03-31 10:01:36

标签: 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_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"

不会产生我想要的输出,这是由命令行结果中的制表符分隔的值。

1 个答案:

答案 0 :(得分:2)

这是一个shell问题,因为你从shell调用perl脚本

在bash中,这可行

perl sep.py -sep $'\t'

同样使用ctrl v,然后按Tab键并将其放在双引号中