Perl - 用单引号加入'\ t'

Imr*_*ran 1 regex perl

在我的后端Perl代码我用单引号接收分隔符

'\t'
Run Code Online (Sandbox Code Playgroud)

当我尝试JOIN像这样使用它的功能

my $string = join ( $del, @aArray );
Run Code Online (Sandbox Code Playgroud)

我得到输出与\t数组值之间的硬编码

My\tName\tIs\tDave
Run Code Online (Sandbox Code Playgroud)

我试图将引号更改为双引号,$del 因为"\t"有效.所以我试着转换

qq{"$del"}
Run Code Online (Sandbox Code Playgroud)

但它没有用.当我打印它时,我明白了

'"\t"'
Run Code Online (Sandbox Code Playgroud)

我也试过正则表达无济于事

$del =~ s/'/"/g;
Run Code Online (Sandbox Code Playgroud)

任何人都可以告诉我如何用双倍替换单引号?

Nei*_*son 5

你如何"收到"分隔符?如果\t以某种方式作为字符串传递给您的perl程序,那么perl程序中的引用不会将其转换为制表符.相反,您必须检测包含的字符串\t并将其转换为制表符.

$del =~ s/\\t/\t/;
Run Code Online (Sandbox Code Playgroud)

在此替换中,匹配是针对实际反斜杠后跟a t.