读书人

perl 匹配 没看懂?解决方案

发布时间: 2013-01-25 15:55:29 作者: rapoo

perl 匹配, 没看懂?
my $str = 'hello, hello, hell ';
my $count = @{[$str =~ m/hell/g]};


匹配表达式可以返回标量上下文 为 1 或 没有
匹配表达式可以返回数组上下文
此处的$count 显然是获取数组的个数。
整个的意思是获取匹配的个数

但还有以下问题:

1. 方括号把匹配表达式括起来是什么意思 ?
2. 大括号把方括号括住又是什么意思 ?
3. @来修饰一个大括号又是什么意思 ?

thanks.
[解决办法]
牛啊,在什么地方看到的?

另一种简单的方法:

my $str = 'hello, hello, hell ';
my @array = $str =~ m/hell/g;
my $count = @array;



[解决办法]
1、方括号创建一个匿名数组,以标量方式引用
2、@{将匿名数组的标量引用看做为一个数组

可以看做如下的简写:
my $str = 'hello, hello, hell ';
my $arr = [$str =~ m/hell/g];
my $count = @{$arr};

读书人网 >perl python

热点推荐