我是Perl的新手,需要一些帮助来理解某人的代码。 下面粘贴的是一段Perl代码。你能帮我理解它的含义吗?
my @m1 =keys( %{$key} );
foreach (@m1){
if (m/^(.*)\/$/) {
$a=$1;
} }
这似乎不起作用。这实际上是否会将m1中的值与捕获组匹配?变量a是否包含捕获组的匹配?
键功能实际上做了什么?
答案 0 :(得分:4)
这是不必要的噪音。这种代码是Perl遭到破坏的原因。它与
相同my @m1 = keys %$key;
for (@m1) {
if ( m|^(.*)/$| ) {
$a = $1;
}
}
它遍历由$key
引用的哈希中的所有键(将$_
设置为每个键)并检查它们是否以斜杠字符/
结尾。如果是,则将$a
设置为没有终止斜杠的键字符串。
我认为循环中必须有比你所示更多的东西,因为它现在没有什么用处。