其次,使用它们是否更容易完成任务?我总是取消$/同时读取所有文件和$|自动刷新缓冲区,但我不确定是否有其他人.
第三,应该使用Perl特殊变量,或者在编码中更明确.就个人而言,我是使用特殊变量来操纵代码行为方式的粉丝,但我听到其他人认为它只是混淆了事情.
@H_403_4@解决方法
> $!是IO错误处理的典型
> $@用于在调用错误设计的库(如数据库库)时进行eval错误处理,这些库的编码器不够考虑到除了“die”之外的正确错误处理代码
> $_用于map / grep块,虽然我100%同意上面的海报,但将它用于常规代码并不是一个好习惯.
> $|用于冲洗缓冲液
2)至于使用标点符号与英文名称,我会选择Marc Bollinger上面的回复,尽管同样的反驳也适用于任何人认为使用英文名称没有任何好处.
“if you’re using Perl,you’re obvIoUsly not choosing it for neophyte readability”
马克,我发现并不总是(或者说几乎从不)真实.再说一遍,99%的Perl经验是为大公司编写生产Perl代码,其中90%是完整的应用程序而不是10行黑客脚本,所以我的分析可能不适用于其他领域.像Marc那样错误的原因是:
>仅仅因为我是一个Perl非初学者(说得温和一点),一年前聘请的一些noob分析师 – 或外包的“天才” – 可能不是.你可能不想让它们比现在更容易混淆. “如果代码难以编写,那么应该很难阅读”在任何语言的专业开发人员的良好态度列表中都不是很高.>当我凌晨2点起床,半睡半醒并解决生产问题时,我真的不想依靠我几乎失明的眼睛来区分$!和$|.特别是在前面提到的“天才”编写的代码中,他们可能不知道使用哪一个并将其切换.>当我正在阅读一个未完成的代码时,一个人在一年前咳嗽“重组”咳出了公司,我宁可专注于比标点汤的可读性更复杂的错误逻辑.
@H_403_4@ @H_403_4@