问题标签 [perlsyn]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
perl - foreach my $var (@list) -- $var 是参考吗?
所以,我从来不知道这一点,我想澄清一下。我知道如果你这样做
如果您在该循环中更改 $_ ,它将影响实际数据。但是,我不知道如果你这样做了
如果您在循环中更改了 $var1 ,它将更改实际数据。:-/ 那么,有没有办法循环 @list 但将变量保留为只读副本,或者如果更改不会更改 @list 中的值的副本?
perl - Perl for 循环解释
我正在查看 perl 代码,我看到了这个:
在这种情况下 for 循环会做什么,为什么要这样做?
perl - Perl - 将代码块作为括号内的参数传递
是否可以使用“括号”语法将代码块传递给子?
即当我写
有用。但是当我尝试添加括号时
这被解释为匿名哈希,并给出错误消息。转义和使用 eval 都没有帮助。
所有大惊小怪背后的想法是调用是否是表达式的一部分,即
参数后面的某些运算符可能会在调用之前执行,从而产生不希望的结果。
perl - Perl 中默认变量 $_ 的作用域
我有以下方法,它接受一个变量,然后显示来自数据库的信息:
一切正常,除了 foreach 循环中的打印行。这个 $_ 变量仍然包含传递给方法的值。
无论如何要在 $_ 上“强制”新的值范围,还是它总是包含原始值?
如果有任何好的教程来解释 $_ 的范围是如何工作的,那也很酷!
谢谢
perl - 为什么 Perl 在使用 bigint 时会警告“无用常量 1”?
当我注意到语法检查导致警告无用使用常量 (1)时,我正在编写一个模块作为我的应用程序的一部分。这是为什么?
1
常量是模块末尾的强制项,通常会被警告忽略,如下perldoc perldiag
所示:
对于等于 0 或 1 的数值常量,不会发出此警告,因为它们经常用于如下语句中
(可能有更好的来源。毕竟1
文件末尾是完全需要的,不要被警告。)
但是,即使对于几乎空的模块,如果它们use bigint
.
对于这个简单的文件语法检查会产生以下警告:
除了将长十六进制数字放入 sqlite之外,我找不到任何参考bigint
和警告消息,但这并不能真正解决我的问题,我认为。
我的 Perl 是 Cygwin 上的 v5.14.4,带有 bigint 0.36。
perl - 涉及逗号的 perl 语法结构的含义
我在一本书中遇到过一段代码,如下所示:
我不知道$anotherVar+1和next之前的逗号 (",") 有什么作用。这种语法结构是如何调用的,它是否正确?