こんにちは、はてなのマンガチームでPerlを書いているid:hitode909です。 先日書いた、Perlのソースコードをリファクタリングし続けるスクリプトについて紹介します。 @EXPORTを撲滅したい 普段Perlを書くときに苦労していたのがテストを書くことで、さまざまなテスト用のヘルパ関数がどこからexportされているかわからない、という困りごとがありました。 私たちのプロダクトではマンガビューワを作っているので、テスト用の作品をcreate_seriesで作り、作品に紐づくエピソードをcreate_episodeで作り、エピソードに対してテストを書く、というような流れでテストを書くことが多いです。 以下の例ではGiga::Test::Core::Seriesからcreate_seriesがexportされていますが、込み入ったテストでは、このようなuseが数十行に渡って続き、どこ