为什么括号在分配此正则表达式匹配时如此重要?
我有一段代码:
$s = "<sekar kapoor>"; ($name) = $s =~ /<([Ss]*)>/; print "$namen"; # Output is 'sekar kapoor' 如果在第二行代码中删除了括号,则在变量$name中: $name = $s =~ /<([Ss]*)>/; # $name is now '1' 我不明白为什么它会像这样.任何人都可以解释为什么会这样吗? 解决方法
在您的第一个示例中,您在左侧有一个列表上下文(您使用了括号);在第二个你有一个标量上下文 – 你只有一个标量变量.
请参阅Perl docs for quote-like ops,匹配列表上下文:
(编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |