use Exporterする時のメモのまとめ
今になって昨日の記事を見返してみたら、
タイトルおかしいけどブクマされてるので気にしない方針で。
正確には、Exporterを使う時のメモですね。
あと、まとめ書いてないので、読んだ後に「で?」ってなるので追記。
そもそも、Exporterを使うメリットはこんな感じ?
Foo::Bar::Hoge
みたいなパッケージにある関数を呼ぶのに、
Foo::Bar::Hoge::fuga();
みたくなるのアレだから、
@EXPORT_OK
に追加して、明示的にインポートして使う。- このモジュールを使うのは、この関数を使いたいからでしょ、
っていう意図で、@EXPORT
に追加しておく。
たぶん、こんな感じだと思う。
なので、@EXPORT
, @EXPORT_OK
, %EXPORT_TAGS
のすべてが必須ではなく、
@EXPORT_OK
だけ定義しておけば、使って欲しい関数が明示的になって良さそう。
それと、use base qw(Exporter);
の前と後のどちらに、
our @EXPORT = ...
とか書けば良いのか悩んだけど、
use
だと、BEGINブロックに書くのと同じだから、気にしなくてもいいのかな?
あと、Foo->new(...)
みたいにして使うモジュールは、また別のお話ですね。
そんな感じで、作業の続きに入りたいと思います。
おしまい。
Leave a Comment