如何一行一行的输出一个多行字符串标量?

如何一行一行的输出一个多行字符串标量?

有一个多行字符串标量
$ms="aaaaaa\nbbbbbbbb\ncccccc\n";  #实际情况$ms非常的大
现在我想一行一行的处理$ms,可以么?
就是在一个循环里
第一次处理aaaaa
第二次处理bbbb
。。。。。

有办法么?
谢谢
perldoc -f open

[Copy to clipboard] [ - ]
CODE:
D:\MoChou>sed "/__END__/,$d" ttt.pl
my $str = qq(hello
world
nihao
123
456);

open FH, '<', \$str;
while(<FH>){
    print;
}

D:\MoChou>ttt
hello
world
nihao
123
456
D:\MoChou>

my $ms="aaaaaa\nbbbbbbbb\ncccccc\n";

for my $line ($ms =~ /(.*)\n/g) {
    print "<$line>\n";
}


QUOTE:
原帖由 Lonki 于 2008-3-15 00:05 发表
my $ms="aaaaaa\nbbbbbbbb\ncccccc\n";

for my $line ($ms =~ /(.*)\n/g) {
    print "\n";
}

用正则表达式还不如用 split 呢。
flw的code就是那么滴简单。


QUOTE:
原帖由 flw 于 2008-3-15 09:53 发表

用正则表达式还不如用 split 呢。

split肯定是可以的.
考虑到LZ的字符串可能有很多行, split一次生成数组效率就比较X了