構文 |
|
require バージョン番号 require ファイルまたはモジュール名 require |
返り値 |
|
成功時に真。失敗時はエラーが発生します。 |
説明
- ファイル名を指定した場合,指定したファイルを読み込んで実行します。requireしたファイル名は記憶されるので,同一ファイルを複数回requireした場合にファイルが読み込まれるのは最初の一回のみです。
- ファイルは@INCに含まれるパス内を探します。
- モジュール名を指定した場合,拡張子.pmを付けてファイルを読み込みます。
- バージョン番号を指定した場合,実行中のPerlのバージョンをチェックします。実行中のPerlのバージョンが指定したバージョンよりも古い場合はエラーになります。
- 引数を省略すると$_が対象になります。
- requireのほかにuseでもモジュールを読み込むことができます。
- モジュールを読み込む場合,通常はuseを使います。
- useの場合,モジュールを使う/使わないに限らず起動時に読み込んでしまうので,必要な時だけモジュールを読み込みたい場合にrequireを使う場合があります。
- requireとuseの主な違いを(表)に記します。
表require use 実行タイミング require実行時 スクリプト起動時 Exporterによる
自動インポート不可能 可能
使用例
#!/usr/bin/perl
use strict;
use warnings;
require 'cgi-lib.pl';
my %input;
ReadParse(\%input);
print "Content-Type: text/plain\n\n";
print $input{name}, "\n";
#!/usr/bin/perl
use strict;
use warnings;
require CGI;
my $q = CGI->new();
print "Content-Type: text/plain\n\n";
print $q->param('name'), "\n";
#!/usr/bin/perl
use strict;
use warnings;
use CGI;
my $q = CGI->new();
print "Content-Type: text/plain\n\n";
print $q->param('name'), "\n";
#!/usr/bin/perl
use strict;
use warnings;
require 5.10.0;
print "test.\n";