10 November 2013

(Perl) INIファイルの読み書き

PerlでINIファイルを読み書きするために、Config::Tinyを用いる方法

#!/usr/bin/perl
 
use strict;
use warnings;
use utf8;
binmode(STDOUT, ":utf8");
 
use Config::Tiny;
 
# INIファイル読み込みテスト
my $config = Config::Tiny->new();
 
# INIファイル読み込み成否の判定
$config = Config::Tiny->read('test.ini');
if(defined($config)){ print "INIファイル読み込み成功\n"; }
else{ print "INIファイル読み込み失敗\n"; }
 
# 指定値読み込み成否の判定
my $str_temp = $config->{section}->{label};
if(!defined($str_temp)){ print "指定値が見つからない\n"; }
else {print "保存された値 = ".$str_temp."\n"; }
 
undef $config;
 
# INIファイル書き込みテスト
$config = Config::Tiny->new();
$config->{section}->{label} = 1;
$config->write('test.ini');
 
print "INIファイルに値を保存\n";

なお、ユーザ権限でローカルディレクトリに Config::Tyny を cpan でインストールする場合、環境変数などの設定をうまく読み取ってくれないようでエラーになる。

その場合、次のように手動でモジュールをビルドして、ファイルを『ローカルディレクトリ』にコピーしてやれば良い。

$ wget http://search.cpan.org/CPAN/authors/id/R/RS/RSAVAGE/Config-Tiny-2.19.tgz
$ tar xvf Config-Tiny-2.19.tgz
$ cd Config-Tiny-2.19
$ perl Makefile.pl
$ make
$ cp lib/Config ~/local/lib/perl5