Небольшой кусок кода, который может быть будет полезен для обработки вот таких вот файлов:
[BLOCK]
name=param
name2=param2
[INFO]
#коментарий
name4=bla bla bla bla bla bla
name2=va va va vava va va
и т.п
Короче файлы конфигов, с поддержкой коментариев и блоков.
Код:
sub ReadConfig {
my $file=shift;
die "Config not found" unless(-e $file);
my %config=();# хэш для хранения конфигурации
my $key; # ключи хэша
open(CONF,"<",$file) || die "can't open config file: $!";
while(<CONF>) {
chomp;
next if /^#/;
$key=$1 if /^\[(\w+)\]/;
if($key) {
next if /^\[/;# пропускаем строку если идет инициализация блока ([BLOCK])
my($var,$value)=split(/=/,$_);
$config{$key}{$var}=$value;
}
}
return %config;
}
[BLOCK]
name=param
name2=param2
[INFO]
#коментарий
name4=bla bla bla bla bla bla
name2=va va va vava va va
и т.п
Короче файлы конфигов, с поддержкой коментариев и блоков.
Код:
sub ReadConfig {
my $file=shift;
die "Config not found" unless(-e $file);
my %config=();# хэш для хранения конфигурации
my $key; # ключи хэша
open(CONF,"<",$file) || die "can't open config file: $!";
while(<CONF>) {
chomp;
next if /^#/;
$key=$1 if /^\[(\w+)\]/;
if($key) {
next if /^\[/;# пропускаем строку если идет инициализация блока ([BLOCK])
my($var,$value)=split(/=/,$_);
$config{$key}{$var}=$value;
}
}
return %config;
}