Perl 编程/关键字/require
外观
Therequire关键字要求 PerlVERSION, 一些语义由EXPRESSION指定,或者存在于$_中,如果EXPRESSION丢失。VERSION可以是类似于5.006的数字参数,这将与$]比较,或者是一个形式为v5.6.1的数字参数,这将与$^V (= $PERL_VERSION的文字。应避免使用文字形式,因为它会导致早期 Perl 版本中出现误导性的错误信息。如果VERSION大于 Perl 解释器的版本,则会引发异常。
如果没有这些参数,require要求包含一个文件,前提是该文件以前尚未包含。使用相同的指定名称,该文件不会包含两次。包含的文件必须在结尾返回 true,因此,习惯上使用1.
如果EXPRESSION是裸字,require假设这是一个.pm扩展名,将所有::替换为/,以便标准模块轻松加载。
在搜索具有.pm扩展名的文件之前,require首先搜索具有.pmc扩展名的文件,如果找到,则加载它而不是.pm文件。
require VERSION
require EXPRESSION
require
require v5.14.2; # runtime version check
require 5.14.2; # ditto
require 5.014_002; # preferred for backwards compatibility
require Foo::Bar; # a splendid bareword
# Will look for the "Foo/Bar.pm" file in the directories specified in the @INC array.
$class = 'Foo::Bar';
require $class; # $class is not a bareword
require "Foo::Bar"; # not a bareword because of the ""
# Will look for the "Foo::Bar" file in the @INC array and will complain not finding it.