私はperl
スクリプト ( myscript.pl
) に取り組んでおり、さまざまなモジュールからいくつかの環境変数を次の順序でロードしたいと考えています。
defaultSettings.pm
と同じディレクトリのデフォルト設定myscript.pl
- (オプション) ユーザー
userSettings.pm
が選択できる別の場所のユーザー設定 localSettings.pm
(オプション)現在の作業ディレクトリのローカル設定
最初と最後の箇条書きは解決しましたが、2 番目の箇条書きの解決にはあまり成功していません。
myscript.pl
#!/usr/bin/perl
use strict;
use warnings;
use FindBin;
use lib $FindBin::Bin;
# defaultSettings always present in same directory as myscript.pl
use defaultSettings;
# localSettings sometimes present (in current working directory)
eval
{
require localSettings;
localSettings->import();
};
print "Some variable is: ",$someVariable;
exit
defaultSettings.pm
package defaultSettings;
use strict;
use warnings;
use Exporter;
use vars qw($VERSION @ISA @EXPORT);
$VERSION = 1.00;
@ISA = qw(Exporter);
@EXPORT = qw($someVariable
);
our $someVariable="default settings";
1;
localSettings.pm
package localSettings;
use strict;
use warnings;
use Exporter;
use vars qw($VERSION @ISA @EXPORT);
$VERSION = 1.00;
@ISA = qw(Exporter);
@EXPORT = qw($someVariable
);
our $someVariable="local settings";
1;
私は私が使用できることを知っています
use lib "/home/foo/bar/";
use userSettings;
でmyscript.pl
、しかし、ユーザーに編集させることは避けたいmyscript.pl
- 主な希望/目標は、ユーザーに myscript.pl
.
同じアイデアを実現する他のワークフローを受け入れます:)