用/在Perl中拆分序列

时间:2011-11-24 03:12:17

标签: arrays perl split

我有一个如下所示的序列:

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'];

这样做的正确方法是什么?

1 个答案:

答案 0 :(得分:6)

你得到的正是你想要的。

表示单个\的方式是'\\',而不是'\',因为\中的'\'会逃脱第二个'使字符串不完整但Data::Dumper返回值始终为eval,因为它是Perl代码。

但是通过循环打印数组的各个元素将打印\