0

我有一个简单的脚本,我希望用户能够指定分隔符:

#!/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"

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

4

1 回答 1

2

这确实是一个 shell 问题,因为您正在从 shell 调用 perl 脚本

在 bash 中,这有效

perl sep.py -sep $'\t'

也使用 ctrl v 然后按制表符并将其放在双引号中

于 2014-03-31T10:23:31.643 回答