perl - 这个表达能起作用吗?

标签 perl

我对 Perl 完全陌生,需要一些帮助来理解某人的代码。 下面粘贴的是 Perl 代码片段。你能帮我理解这是什么意思吗?

my @m1 =keys( %{$key} );
foreach (@m1){
    if (m/^(.*)\/$/) {   
             $a=$1;
} }

这似乎不起作用。这实际上会将 m1 中的值与捕获组匹配吗?变量 a 是否包含捕获组的匹配项?

按键的实际功能是什么?

最佳答案

太吵了。这种代码就是 Perl 被废弃的原因。与此相同

my @m1 = keys %$key;

for (@m1) {
  if ( m|^(.*)/$| ) {
    $a = $1;
  }
}

它循环遍历 $key 引用的哈希中的所有键(将 $_ 设置为每个键)并检查它们是否以斜杠字符 /。如果是这样,则将 $a 设置为不带终止斜杠的键字符串。

我认为循环一定比您所显示的更多,因为就目前情况而言,它没什么用处。

关于perl - 这个表达能起作用吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28317260/

相关文章:

git - 无法在@INC 中找到 Git.pm

perl - 在 Perl 中解码 UTF-8 URL

unit-testing - 如何更改单元测试模块中的 Perl Readonly 标量?

perl - 使用打印到屏幕的参数对 Perl 函数进行单元测试

perl - 使用 prepare 和 execute 避免 SQL 注入(inject)

iphone - linux下编辑二进制plist

perl - 如何为 Perl 的 localtime() 设置时区?

linux - 不一致的 CPAN 模块行为——该怪谁?

Perl,将字符串拆分为 key :Value pairs for hash with lowercase keys without temporary array

perl - 在组合器中使用管道的 Hadoop 流作业