Chinaunix

标题: 再求问 $count=()=$cmd =~ /str/ig 表达式 [打印本页]

作者: amysue    时间: 2012-09-05 14:54
标题: 再求问 $count=()=$cmd =~ /str/ig 表达式
本帖最后由 amysue 于 2012-09-05 14:55 编辑

在看代码的时候看到
  1. my $cmd = ...;
  2. my $count = 0;
  3. $count=()=$cmd=~/str/ig
复制代码
其中,$cmd里是包含了一串字符串,具体内容没写出。。
我知道最后是计算$cmd中匹配"str"的次数,比如最后有两次匹配,那么$count的值为2。
但是我不明白这个表达式,其中()有什么作用,直接用
  1. $count=$cmd=~/str/ig
复制代码
得到的$count值就只为1
谢谢

作者: yybmsrs    时间: 2012-09-05 17:47
提供一个list环境,在scalar和list环境会有不同的返回值
作者: amysue    时间: 2012-09-05 20:26
回复 2# yybmsrs


  恩,谢谢。那如果是
  1. my @counts=()=$cmd=~/str/ig
复制代码
返回的@counts就包含匹配的字符串了?
作者: kk861123    时间: 2012-09-05 20:29
amysue 发表于 2012-09-05 20:26
回复 2# yybmsrs

那这样写就好了
  1. my @counts=$cmd=~/str/ig;
复制代码

作者: amysue    时间: 2012-09-06 13:19
回复 4# kk861123


    谢谢,明白了




欢迎光临 Chinaunix (http://bbs.chinaunix.net/) Powered by Discuz! X3.2