やあ、
私は、perl スクリプトの開発に関して、多少の難問を経験しています。標準 (基本) Perl インストールを使用して小さな Perl スクリプトを作成しました。私は次の設定をしています:
C:\MyScript\perl.pl
C:\MyScript\configuration\config.ini
C:\MyScript\output\output.txt
これは perl.pl ソースです:
$config = '/configuration/config.ini';
$conf = Config::IniFiles->new( -file => $config_file );
$output_dir = conf->val('output', 'out_dir');
$output_file = "$output_dir/output.txt";
open (out, ">$output_file") || die ("It's not your day mate!");
print out "This is a test...";
close out;
これは config.ini の内容です。
[output]
output_dir = C:\MyScript\output
私が抱えている問題は、2 行目 ($conf) でその場所のファイルを開くのに問題があるように見えることです。このスクリプトを Windows と UNIX 環境の両方で (追加モジュールをインストールせずに) 使用するので、どうすればこれを回避できるのでしょうか? 私が望んでいたのは、config.ini ファイルを通じて完全に構成可能なスクリプトを作成することでした。ただし、構成は、次のように絶対パスを指定した場合にのみ機能します。
$config = 'C:\MyScript\configuration\config.ini';
しかし、これはいくつかの多様な環境に展開されるため、スクリプト ソースを変更することは問題外です。皆さんは何をお勧めしますか?そのようなシナリオにどのようにアプローチする必要がありますか?
どんな助けやアドバイスも大歓迎です。
MCさん、おつかれさまでした