问题标签 [perlop]
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 - 特殊变量 %+ 有名称吗?
我想知道是否有一个运算符名称%+
,而不是像这样的代码:
我可以使用更具可读性的东西:
perl - 如何检查文件名是否包含目录信息?
我想检查一个文件名中是否有任何目录信息,最好不要使用像index($file_name,'/')!=-1
. 我知道该File::Spec
模块,但似乎无法找到使用该模块做出此决定的方法。也许另一个模块会更好。以下是文件名的一些示例:
perl - Perl 在非严格模式下解引用
在 Perl 中,如果我有:
要对数组的一个元素进行操作,比如说第二个,我会写(可能作为更大表达式的一部分):
虽然,出于某种原因,这些也有效:
导致所有在同一个对象中:
输出:
启用这种结构的语法规则是什么?使用这些结构中的每一个,或者混合所有这些结构,设计出可靠的程序代码能走多远?这些表达的互换性如何?(总是在非严格的上下文中说话)。
关于证明我如何进入这个问题的理由,我同意“使用严格”作为一种更好的做法,但我仍然对建立非严格表达式的一些知识感兴趣。
在试图为自己的这种不安找到一些帮助时,我想到了:
- “不严格”的概念;不要抱怨未声明的变量和怪异的语法。
- 前缀取消引用具有比子索引 [] 更高的优先级(perldsc §“优先级警告”)。
- 关于何时使用 @ 而不是 $ 的说明(perldata § "Slices")。
- Perl 的运算符 (perlop) 中缺少“[]”(数组下标/切片)描述,这让我认为它不是运算符……(但它必须是别的东西。但是,什么?)。
对于我所学到的,这些提示都没有让我更好地理解我的问题。
提前致谢。
perl - 这个表达式中的优先级是什么?
当我运行这个程序时:
我从[0,1)
范围中获取值。
但为此:
我从[0,100)
范围中获取值。
这里的优先级是什么?为什么第一个表达式不返回[0,100)
范围内的值?
linux - 为什么在 perl 替换 (s) 和 match(m) 运算符中使用 utf8 模式在单行中不起作用?
我在使用 Perl 的单行代码替换文件中的一些 utf8 文本时发现了这个问题。我知道如何在命令行上处理 utf8(使用 Perl 或 Python)?. 他们不适用于这种情况。操作系统是 linux,locate 设置为 utf8
所以这是我的问题:有没有更简单的解决方案来使用 utf8 模式形成 m 和 s 运算符与 perl 单行符,为什么简单的方法不起作用?
谢谢!
以防万一: