一个perl问题
$_="chmod711cgi";
/(\W)\s+(\d+)/;
print $_;
print $1;
为什么打印不出$1的值呢?
是不是只有存在匹配的字符串的话才能打印出$1的值啊?
$_="chmod711cgi";
/(\W)\s+(\d+)/;
print $_;
print $1;
为什么打印不出$1的值呢?
是不是只有存在匹配的字符串的话才能打印出$1的值啊?
你要匹配什么呀?
这时为空,打出来当然是空啦,能打出来就有问题了
\W非英文字母或数字的字符串,和 [^a-zA-Z0-9] 语法一样
楼主想匹配什么呢,
同意楼上说的,\W非英文字母或数字的字符串,
所以/(\W)\s+(\d+)/中$1本来获取的就是空值,当然打印不出来.