use と require と import の関係 perldoc perlmodによると、use というのは次と等価と書かれています。 use Module; use Module LIST; はそれぞれ、 BEGIN { require Module; import Module; } BEGIN { require Module; import Module LIST; } と等価になります。 BEGINとは? BEGIN というのは、perl がそのソースファイルをロード中、発見次第最初に1回だけ実行する構文であるという意味です。少しフォローしておくと、モジュールのロードは、@INCにあるパスを順番に見てロードされますが、lib/ 以下に自作モジュールがあるとき、 push(@INC, './lib'); use Module; はエラーとなります。先に use (BEGIN内構
![perl の import の働き](https://cdn-ak-scissors.b.st-hatena.com/image/square/799c3c05a41d460421726aaa1584e104e2982f63/height=288;version=1;width=512/https%3A%2F%2Fadiary.adiary.jp%2Fpub-dist%2Fdefault-logo.png)