関数順 インデックス
目的別 インデックス

構文
 
 require バージョン番号
 require ファイルまたはモジュール名
 require

返り値
 
 成功時に真。失敗時はエラーが発生します。

説明

  • ファイル名を指定した場合,指定したファイルを読み込んで実行します。requireしたファイル名は記憶されるので,同一ファイルを複数回requireした場合にファイルが読み込まれるのは最初の一回のみです。
  • ファイルは@INCに含まれるパス内を探します。
  • モジュール名を指定した場合,拡張子.pmを付けてファイルを読み込みます。
  • バージョン番号を指定した場合,実行中のPerlのバージョンをチェックします。実行中のPerlのバージョンが指定したバージョンよりも古い場合はエラーになります。
  • 引数を省略すると$_が対象になります。
  • requireのほかにuseでもモジュールを読み込むことができます。
  • モジュールを読み込む場合,通常はuseを使います。
  • useの場合,モジュールを使う/使わないに限らず起動時に読み込んでしまうので,必要な時だけモジュールを読み込みたい場合にrequireを使う場合があります。
  • requireとuseの主な違いを()に記します。

      require use
    実行タイミング require実行時 スクリプト起動時
    Exporterによる
    自動インポート
    不可能 可能

使用例

ライブラリcgi-lib.plを読み込み,CGIパラメータnameの値を表示する
#!/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";
モジュールCGIを読み込み,CGIパラメータnameの値を表示する
#!/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";
モジュールCGIを読み込み,CGIパラメータnameの値を表示する(useを使用)
#!/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";
Perlのバージョンが5.10.0以降でのみ実行する
#!/usr/bin/perl
use strict;
use warnings;

require 5.10.0;

print "test.\n";