在 Perl 5.28.1 中,以下语句无效:
>perl
my $_;
Can't use global $_ in "my" at - line 1, near "my $_"
Execution of - aborted due to compilation errors.
Run Code Online (Sandbox Code Playgroud)
这至少适用于 Perl 5.16.3。这个构造是从 Perl 中删除的,还是一个错误?如果删除它,我认为这是一个大问题,因为这个基本结构在过去被大量使用,并且在 Perl 文档中也有演示。无论是Perl的历史确实提到的语言这么大的变化。
这个构造是从 Perl 中删除的,还是一个错误?
$_ 是一个全局变量。
然而,在 perl v5.10.0 和 v5.24.0 之间,它可以通过编写我的 $_ 来词法使用。使用我们的 $_ 可以让 $_ 在同一范围内引用全局 $_ 。此实验性功能已被删除 ,现在是一个致命错误,但您可能会在较旧的代码中遇到它。
如果这个被删除,我认为这是一个大问题......
我认为这不是讨论这个的合适场所,即讨论不会解决您当前的问题。正如池上在评论中指出的那样:这个功能在 5.18 中被标记为实验性的,因此导致了多年的警告。你可能只需要在你的代码中替换my $_with local $_。
| 归档时间: |
|
| 查看次数: |
245 次 |
| 最近记录: |