[Perl]



パッケージ(モジュール)の読みこみ時にデフォルトでimportされるサブルーチン(メソッド)を決めるのが@EXPORTと@EXPORT_OKになります。例としてFile::Compareモジュールの@EXPORT部分を見てみると以下のようになっているかとおもいます。


package File::Compare;

use 5.006;
use strict;
use warnings;
our($VERSION, @ISA, @EXPORT, @EXPORT_OK, $Too_Big);

require Exporter;
use Carp;

$VERSION = '1.1003';
@ISA = qw(Exporter);
@EXPORT = qw(compare);
@EXPORT_OK = qw(cmp compare_text);


このモジュールを以下のようにuseで読みこんだ場合にデフォルトで読みこまれるサブルーチンはcompareのみになります。


use File::Compare;


cmpとcompare_textは@EXPORT_OKに格納されているので、以下のように明示的に指定すれば使用できるようになります。


use File::Compare qw( cmp compare_text );


ただEXPORTされていないサブルーチンでも以下のように明示的に書けばよい。


File::Compare::cmp(file1, file2);


詳しくはperldoc Exporterを参照



広告
Code Reading―オープンソースから学ぶソフトウェア開発技法 Code Reading―オープンソースから学ぶソフトウェア開発技法
¥ 5,460 / 売り上げランク: 8230 / 523 ページ

CodeCompleteとCodeReadingを併せて読むとよいと、
組込み系のSESSAMEプロジェクトのメーリングリストと、
OS系のTOPPERSプロジェクトのメーリングリストで推薦を受けました。

CodeCompleteは読んだことがあったので、CodeReadingを読んでいます。

オープンソースを仕事にしているので、たいへん役立っています。

MISRA-Cは研修で取り上げてきたので、本書も研修の資料としても取り上げるように準備中です。

新版Perl言語プログラミングレッスン入門編 新版Perl言語プログラミングレッスン入門編
¥ 2,835 / 売り上げランク: 11987 / 512 ページ

非常に分かりやすい。
今までにも様々な参考書に目を通してきていたが、その中でもこの本かなり読みやすく、丁寧に書かれていた。
初心者には特にお勧め。
初心者以外の方でも軽く目を通す価値はあると思う。

初めてのPerl 初めてのPerl
¥ 3,780 / 売り上げランク: 14687 / 379 ページ

いわゆるリャマ本として知られる定番書

初めてのとあるが初心者向きではないと思う。
よくできてはいるが、、。