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