2012-08-01 42 views
0

我是Perl的新手,我目前试图仅在一对字母上拆分字符串。 我看了其他答案,他们似乎是特定于该问题或缺乏评论来理解答案。字符串在Perl中通过字母拆分

最终目标是将一个非常长的CSV文件分成接受部分,然后可以使用。样本数据将是

HOME 123454 monkey lion 6.4.2.10 (ABCD EFGH (Tue 20th August 2000) 12345 True)<br />HOME 123454 monkey lion 6.4.2.10 (ABCD EFGH (Tue 20th August 2000) 12345 True)<br /> 

我会看的到分割字符串的“< BR />成有自己的字符串,然后这些存储字符串数组。到目前为止,我曾尝试拆分字符串是:

my $line1 = split("/<br />", $Line); 

,并测试它通过打印输出很努力,但它不工作

回答

7

split函数返回spli的数量。在标量环境中。要获得分割列表,需要在列表上下文中调用split

my $str = q{HOME 123454 monkey lion 6.4.2.10 (ABCD EFGH (Tue 20th August 2000) 12345 True)<br />HOME 123454 monkey lion 6.4.2.10 (ABCD EFGH (Tue 20th August 2000) 12345 True)<br />}; 
my @lines = split qr{<br\s?/>}, $str; 
3
$str = 'HOME 123454 monkey lion 6.4.2.10 (ABCD EFGH (Tue 20th August 2000) 12345 True)<br />HOME 123454 monkey lion 6.4.2.10 (ABCD EFGH (Tue 20th August 2000) 12345 True)<br />'; 

my @list = split(qr'<br />', $str); 

say $_ for @list;