複数のCGIで共通して使いたいサブルーチンを別ファイルに独立させ、他のPerlソースから呼び出して使用する方法。packageとrequireを使います。
にしし ふぁくとりー

にししの Perl/CGI Tips ふぁくとりー

にししふぁくとりーPerl/CGI Tips → このページ

Perlスクリプト全般TIPS

別ファイルのPerlスクリプトにあるサブルーチンを呼び出して使用する

複数のCGIで共通して使いたいサブルーチンなどは、別ファイルに独立させるのがスマートですね。 別ファイルにあるサブルーチンを呼び出して使う仕組みが、Perlには用意されています。

SOURCE 1

まず、呼び出される方のPerlスクリプトに、パッケージ名を付けます。
#! /usr/bin/perl
package samplepackage;
sub function1 {
print "hogehoge\n";
}
1;
上記では、samplepackage というパッケージ名を付けています。そして、function1 というサブルーチンを記述しています。
また、最後に必ず「真」を返さないといけない決まりになっているので、ソースの最後に「1;」と書いて、真を返すようにしています。

SOURCE 2

次に、呼び出す方のPerlスクリプト。require '(ファイル名)'; と記述することで、別ファイルのPerlスクリプトを呼び出すことができます。
require 'sample.cgi';
samplepackage::function1();
上記では、sample.cgi というファイルを呼び出して、function1 というサブルーチンを実行しています。
サブルーチンの前に「samplepackage::」という記述がありますが、これを付けることで、「パッケージ samplepackage 内のサブルーチン」という意味になります。
ですから、複数のPerlスクリプトを呼び出して、それぞれに同じ名称のサブルーチンがあったとしても、正しく目的のサブルーチンを呼び出して使うことができます。
2004/02/21. Sat.

このページに記載の内容は、必ずしも正しいとは限りません。ご注意下さい。
もっと良い方法がありましたら、ぜひ、教えて頂けるとありがたいです。
製作者にししへのご連絡は、メールなどでお送り下さい。匿名のコメントも送信できます。
どのページへもリンクは歓迎します。複製・転載はご遠慮下さい。