[ Perl入門編 ] package の作り方 ( .pm モジュール )

Pocket

本ページでは、package の作り方を掲載しています。共通関数や汎用的な関数などを package で定義して Perl モジュールとして再利用することで、作業効率が向上します。

スポンサーリンク

拡張子は ( .pm )

Perl モジュールの拡張子には .pm を使用します。以下は package のサンプルになります。func1 と func2 関数をパッケージ名 ( testpkg ) として公開しています。詳細はサンプル中のコメントを参照ください。コメントの口調がガサツですが、寛大な心でスルーしてください。

# パッケージ名
package testpkg;  

# よくわからんが以下の3行は必要らしい。
# C言語で言うヘッダーファイルのようなものか?
use Exporter;
@ISA = (Exporter);
@EXPORT = qw(func1 func2); # 関数を追加する場合は半角スペースで連結

# 変数を定義するときは my とかつけてないとエラーとなるようにするためのもので
# 必要なければ外す
use strict;
use warnings;

sub func1 {

    return "リターン";
}

sub func2 {

  my ($num1, $num2, $num3) = @_;

  # 足して返す
  return $num1 + $num2 + $num3;
}

# 以下の行はとりあえずつけておけばよい
1;

package で公開された関数を呼び出す

上記の package を呼び出すサンプルになります。サンプル内ではライブラリパスを追加していますが、必要なければはずします。package のファイルがあるディレクトリがライブラリパスに登録されていなければそのパスを、下記のように追加します。

#!/usr/bin/perl

use lib qw(../lib);   # ライブラリパスにモジュールパスを追加
use testpkg;          # モジュールを使用する宣言

# 関数呼び出し
my $ret = func2(1, 2, 3);

print $ret;
スポンサーリンク


Pocket

One thought on “[ Perl入門編 ] package の作り方 ( .pm モジュール )”

  1. Perl入門者

    初めまして、Gogle reCGogleのサイトキーとシークレットキーをモジュール化する方法を調べていたところこちらのサイトに行き着きました。
    セキュリティキーをモジュール化して外部からアクセス出来ないようにする記事がないためお聞きしたく質問させていただきます。

Leave a Comment

Your email address will not be published. Required fields are marked *