我有一个如下所示的序列:
my $seq = "D\IKLR\LK/Q";
我想要做的是将序列分解为单个字母。
所以我希望得到:
my $var = ['D', '\', 'I', 'K', 'L', 'R', '\', 'L', 'K','/' ,'Q'];
但为什么这样做不会:
my @chars = split(//,$seq);
print Dumper \@chars;
它代之以:
my $var = ['D', '\\', 'I', 'K', 'L', 'R', '\\', 'L', 'K', 'Q'];
这样做的正确方法是什么?
答案 0 :(得分:6)
你得到的正是你想要的。
表示单个\
的方式是'\\'
,而不是'\'
,因为\
中的'\'
会逃脱第二个'
使字符串不完整但Data::Dumper
返回值始终为eval
,因为它是Perl代码。
但是通过循环打印数组的各个元素将打印\
。