鈍足ランナーのIT日記

走るのが好きな5流のITエンジニアのブログ。

趣味の範囲は広いけど、どれも中途半端なクソブロガー楽しめるWebアプリを作ってあっと言わせたい。サーバーサイドPerl(Mojolicious)、クライアントサイドVue.js。Arduinoにも触手を伸ばす予定。

perlでrequireで設定ファイル読み込むと2回目で1が返る?

初級者丸出しのエントリで申し訳ありません。・・・

requireで設定ファイルを読み込ませているけれど 同じロジックで2回目読み込ませると返却値が1になってしまった。 なんでだろう。

設定ファイルの読み込みようのいいモジュールないかなーー。

いやいや、2回同じファイルを読まないようにすればいいのか。 でもそうすると動的に変更されたときに対応できないし。

use strict;
use warnings;
use Data::Dumper;
use FindBin qw($Bin);

my $conf = require "$Bin/../twittela.conf";

#うまく読めている
print Dumper($conf);

$conf = require "$Bin/../twittela.conf";

#1が返る
print Dumper($conf);

コメント、ツイートをいただきました。doを使う

use strict;
use warnings;
use Data::Dumper;
use FindBin qw($Bin);

my $conf = do "$Bin/../twittela.conf";

#うまく読めている
print Dumper($conf);

$conf = do "$Bin/../twittela.conf";

#1が返る
print Dumper($conf);

うぉー。読めた。確かdoはperlの勉強会、「perlbeginners」でも登場していたはずなんですが、身についていませんでした。

Config::PL おおぉ。これは便利そう。