perl正则匹配结果保存

perl正则匹配结果保存

有一个很大的字符串,格式类似如下:

a=string1&b=1,2&....a=string2&b=1,3&....

现在想用正则表达式把a的值string1,string2和b的值1,2和1,3等取出来,应该如何处理?

PHP中有preg_match_all将他们保存到一个数组中,perl应该如何做?谢谢
取b的值倒是比较简单,可以直接使用“&”和split,然后匹配"b="就可以了;
如果是取a的值,可能有一个复杂的办法,首先使用“a=”和split,然后取所有的"&b="前面的内容就可以了。
方法可能不是最好的,但是能解决问题。
谢谢楼上的,关键是如何把每个值都保存下来?

比如a的值为string1或者string2或者其他的,如何把每个值都分别保存下来?
use CGI;
版主能说详细一点吗?谢谢


QUOTE:
原帖由 tanos 于 2008-8-27 15:30 发表
版主能说详细一点吗?谢谢

http://search.cpan.org/~lds/CGI.pm-3.41/CGI.pm
哈哈,还是flw看出你的问题。 以后先说清你的问题
还是 斑竹 牛,一眼看穿了他的外衣
水啊
#!/usr/bin/perl

my $str = qq|a=string1&b=1,2&a=string2&b=1,3&a=string3&b=1,4|;
while($str =~ /([ab])=([^&]+)/g){
        print $1,"\t",$2,"\n";
}

输出:
a       string1
b       1,2
a       string2
b       1,3
a       string3
b       1,4

不知道是不是你想要的.