在这个Perl脚本中,“无效使用void上下文中的变量”是什么意思?

在这个Perl脚本中,“无效使用void上下文中的变量”是什么意思?,第1张

概述下面的脚本给了我我想要的东西,但Perl也向我发出警告说“在void上下文中无用的使用变量”.这是什么意思? use strict;use warnings;my $example = 'http\u003a//main\u002egslb\u002eku6\u002ecom/c0/q7LmJPfV4DfXeTYf/1260269522170/93456c39545857a15244971e 下面的脚本给了我我想要的东西,但Perl也向我发出警告说“在voID上下文中无用的使用变量”.这是什么意思?

use strict;use warnings;my $example = 'http\u003a//main\u002egslb\u002eku6\u002ecom/c0/q7LmJPfV4DfXeTYf/1260269522170/93456c39545857a15244971e35fba83a/1279582254980/v632/6/28/a14UAJ0CeSyi3UTEvBUyMuBxg\u002ef4v\u002chttp\u003a//main\u002egslb\u002eku6\u002ecom/c1/q7LmJPfV4DfXeTYf/1260269522170/3cb143612a0050335c0d44077a869fc0/1279582254980/v642/10/20/7xo2MJ4tTtiiTOUjEpCJaByg\u002ef4v\u002chttp\u003a//main\u002egslb\u002eku6\u002ecom/c2/q7LmJPfV4DfXeTYf/1260269522170/799955b45c8c32c955564ff9bc3259ea/1279582254980/v652/32/4/6pzkcf4iqTSUVElUA5A3PpMAoA\u002ef4v\u002chttp\u003a//main\u002egslb\u002eku6\u002ecom/c3/q7LmJPfV4DfXeTYf/1260269522170/cebbb619dc61b3eabcdb839d4c2a4402/1279582254980/v567/36/19/MBcbnWwkSJu46UoYCabpvara\u002ef4v\u002chttp\u003a//main\u002egslb\u002eku6\u002ecom/c4/q7LmJPfV4DfXeTYf/1260269522170/1365c39355424974dbbe4ae8950f0e73/1279582254980/v575/17/15/EDczAa0GTjuhppapCLFjtaQ\u002ef4v';my @raw_url = $example =~ m{(http\u003a.+?f4v)}g;my @processed_url =   map {                             s{\u003a}{:}g,$_;                              s{\u002e}{.}g,$_;                             s{\u002d}{@}g,$_;  } @raw_url;print join("\n",@processed_url);

如果我省略这样的美元下划线,为什么这个地图的东西不起作用呢?

my @processed_url =   map {                             s{\u003a}{:}g;                              s{\u002e}{.}g;                             s{\u002d}{@}g;  } @raw_url;

当我省略那些美元下划线时,除了可能的成功标志“1”之外我什么也得不到.我错过了什么?有任何想法吗?总是如此谢谢:)

解决方法 你想要的是……

my @processed_url =   map {                       s{\u003a}{:}g;                        s{\u002e}{.}g;                       s{\u002d}{@}g;                       $_;} @raw_url;

A map block返回由作为结果计算的最后一个语句组成的值.这就是为什么我们传递$_作为最后一个声明.替换运算符s{}{}返回所做的替换次数.

在您之前的设置中,您自己拥有以下语句.这几乎毫无意义,这正是Perl警告的内容.

s{\u003a}{:}g,$_;
总结

以上是内存溢出为你收集整理的在这个Perl脚本中,“无效使用void上下文中的变量”是什么意思?全部内容,希望文章能够帮你解决在这个Perl脚本中,“无效使用void上下文中的变量”是什么意思?所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/langs/1226225.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-06-05
下一篇 2022-06-05

发表评论

登录后才能评论

评论列表(0条)

保存