【问题标题】:Difference between "perl" and "perl -w"?“perl”和“perl -w”之间的区别?
【发布时间】:2012-09-23 16:48:01
【问题描述】:

我正在学习 Perl,非常新的用户。我可以知道这些 Perl 代码有什么区别吗?

#!/usr/bin/perl

&

#!/usr/bin/perl -w

【问题讨论】:

  • 我回滚了您的编辑,因为在给出答案后解决您的问题是不习惯的。它使答案看起来很奇怪。
  • @TLP 谢谢,从你那里我才知道该怎么称呼他们。
  • 就像一个深奥的笔记,如果有人设置了 PERL5OPT,可能没有区别。
  • 另外,你可能想要#!/usr/bin/env perl(而不是#!/usr/bin/perl)。这在像 CentOS 5 这样的机器上尤其重要,其中可能会在 /usr/local 中安装更新的 PERL。或者可能是安装了 MacPorts 和 PERL 的 OS X,位于 /opt/local/bin

标签: perl


【解决方案1】:

这不是 perl 代码,它是一个shebang,它在 linux/unix 环境中用作告诉 shell 应该使用什么程序来运行程序文件的一种方式。它在 Windows 中无效,但会激活任何使用的开关。

-w 部分是 perl 的开关,告诉它激活警告。您可以通过在命令提示符下键入perl -h 来了解有关 perl 命令行开关的更多信息。阅读更多perldoc perlrun

-wuse warnings pragma 的旧版本,现在是首选。 -w 是全局的,use warnings 是词法的,可以选择性地激活。

【讨论】:

  • 感谢您的回答。现在我有一个疑问,这些 -w 可以在多大程度上帮助我们?警告是什么意思?
  • @August 警告是为了警告您代码中容易发生错误的潜在问题点。不仅要修复错误,而且不要发出警告,这是一种很好的做法。
  • @squiguy 是的,因为您可以选择您想要的特定错误,或者可以消除您不想要的错误,例如no warnings 'redefine' 如果你想重新定义一个子。
  • @August 使用use strict; use warnings; 并学习如何处理警告/错误将比您在编写 perl 时可以做的任何其他事情都更有帮助。不使用警告将使错误无声无息地发生,让您不知道出了什么问题。
  • @PSIAlt 就像我说的:“虽然 -w 是全局的,但使用警告是词法的,可以有选择地激活。”
猜你喜欢
  • 1970-01-01
  • 2013-07-05
  • 1970-01-01
  • 1970-01-01
  • 2012-11-14
  • 1970-01-01
  • 1970-01-01
  • 2012-02-13
  • 1970-01-01
相关资源
最近更新 更多