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

構文
 
 use モジュール名 バージョン インポート・リスト
 use モジュール名 バージョン
 use モジュール名 インポート・リスト
 use モジュール名
 use バージョン

返り値
 
 なし

説明

  • 指定したPerlモジュールを読み込みます。
  • バージョンが指定された場合,モジュールのバージョンと比較して,モジュールのバージョンが古い場合エラーになります。モジュールの指定がない場合にバージョンを指定すると,実行しているPerlのバージョンと指定したバージョンを比較します。
  • インポート・リストが指定された場合,指定されたものをインポート(import)します。省略された場合はモジュール側で決めているデフォルトのものをimportします。importしたくない場合は空リストを指定します。
  • useのほかにrequireでもモジュールを読み込むことができます。requireとuseの主な違いとしては以下があげられます。

    表 requireとuseの主な違い
      require use
    実行タイミング require実行時 スクリプト起動時
    Exporterによる
    自動インポート
    不可能 可能

  • モジュールを読み込む場合,通常はuseを使います。
  • useの場合,モジュールを使う/使わないに限らず起動時に読み込んでしまうので,必要な時だけモジュールを読み込みたい場合にrequireを使う場合があります。

使用例

モジュールCwdを読み込み,自動インポートされたgetcwdを実行する
#!/usr/bin/perl
use strict;
use warnings;
use Cwd;

print getcwd(), "\n";
モジュールCwdを読み込みgetcwdを実行する(importしない)
#!/usr/bin/perl
use strict;
use warnings;
use Cwd (); # importしない

print getcwd(), "\n"; 
# getcwdがimportされていないのでエラーになる
print Cwd::getcwd(), "\n"; 
# 明示的にCwd::を指定すれば使用可能
モジュールTime::HiResを読み込みimportしたusleepを実行する
#!/usr/bin/perl
use strict;
use warnings;

use Time::HiRes; 
# usleepをimportしないので下のusleepでエラーになる

use Time::HiRes qw/usleep/; 
# usleepをimportする

usleep(500000); # 0.5秒sleep
バージョン・チェック付きでCwdモジュールを読み込み,自動インポートされたgetcwdを実行する
#!/usr/bin/perl
use strict;
use warnings;
use Cwd 3.0; 
# Cwdモジュールのバージョンが3.0よりも古い場合はエラー

print getcwd(), "\n";