了解require在Perl中的用法
perl中关键字“require”的用途是什么。我已经提到了,但这不是很有帮助 从 require需要由version指定的Perl版本,或requires 如果未提供EXPR,则由EXPR或$\指定的某些语义。 版本可以是数字参数,如5.006,将 与$]或形式为v5.6.1的文字相比 与$^V(又名$PERL\u版本)相比。如果版本为,则引发异常 大于当前Perl解释器的版本。比较 使用use,它可以在编译时执行类似的检查 从这一点来看,不太清楚下面这行代码在安装了更高版本PERL的Linux机器上的PERL脚本中意味着什么(比如5.22):-了解require在Perl中的用法,perl,Perl,perl中关键字“require”的用途是什么。我已经提到了,但这不是很有帮助 从 require需要由version指定的Perl版本,或requires 如果未提供EXPR,则由EXPR或$\指定的某些语义。 版本可以是数字参数,如5.006,将 与$]或形式为v5.6.1的文字相比 与$^V(又名$PERL\u版本)相比。如果版本为,则引发异常 大于当前Perl解释器的版本。比较 使用use,它可以在编译时执行类似的检查 从这一点来看,不太清楚下面这行代码在安装了更高版本PERL的Linu
是否可以用一个例子来解释,在什么情况下可能需要使用它?您链接和引用的文档在第一页就解释了这一点,没有滚动。(我的重点) 版本可以是数字参数,如5.006,这将是 与
$]
或v5.6.1格式的文字相比,将
与$^V(又名$PERL\u版本)相比如果版本为,则引发异常
大于当前Perl解释器的版本。比较
使用use,它可以在编译时执行类似的检查
下面一段就是这个例子
所以很清楚它的作用。它要求您的Perl在运行时至少为5.6.1。如果你有5.22,一切都好
CPAN实例
查找使用此功能的案例非常简单,但实际上要找到一些有合理解释的案例需要进行一些搜索1
- 正在使用
和要求5.012
。显然,它需要一些重要的功能要求5.010
- 有,但它说它需要Perl 5.004
- 表示添加了
,以修复缺少require 5.008001
的错误utf8::is_utf8()
\uu
,可以在任何地方使用数字,以使它们在Perl中更具可读性
一个更实际的例子,但在CPAN上更难找到,如果您绝对需要使用一个特定的语法功能,该功能只有在最近的Perl中才可用,例如替换操作符s///
上的
标志,它添加了非破坏性替换,因此返回的是结果,而不是字符串。如果您的代码依赖于此,您可以将require 5.014
放在顶部,这样它甚至不会尝试在较旧的perl上运行,因为它无论如何都会失败
return $foo->frobnicate(
id => $params->{id},
text_without_whitespace => $params->{text} =~ s/\s+//gr,
);
1) 阅读CPAN是有用的。做吧。您需要更具体地说明您不了解的内容。欢迎使用Stack Overflow!也许先告诉我们你想做什么?听起来您可能会尝试将Perl代码翻译成其他语言。你可以回答你的问题。
要求
-如果没有你的程序应该/不会工作的东西,你可以指定perl版本或一些文件。实际上你的链接非常有用,请回答@simbabque问题。你想做什么?要求
没有什么用处。通常使用use
加载模块,这是require
的编译时版本@simbabque现在问题更清楚了吗?可以用一个例子来解释吗?在什么情况下可能需要使用它?@Phalgun I添加了一些来自CPANThanks的例子来解释!
require v5.6.1; # run time version check
require 5.6.1; # ditto
require 5.006_001; # ditto; preferred for backwards
compatibility
return $foo->frobnicate(
id => $params->{id},
text_without_whitespace => $params->{text} =~ s/\s+//gr,
);