Полагаю, если на написание парсера уходит около 10 минут, возможно, не очень интересно сделать его модулем. Вот фрагмент кода, который, вероятно, выполняет свою работу (отказ от ответственности: я ничего не знаю о формате конфигурации для Kerberos, код основан на том, что вы разместили здесь).
#!/usr/bin/perl -w
use strict;
my %conf;
my $section;
while (<>) {
if (/^\s*(\S*)\s*=\s*\{\s*$/) {
$section = $1;
$conf{$section} = {};
} elsif (/^\s*(\S*)\s*=\s*(\S*)\s*$/) {
my $key = $1;
my $value = $2;
if ($section) {
$conf{$section}{$key}=$value;
}
}
}
foreach (keys %conf) {
$section = $_;
foreach (keys %{$conf{$section}}) {
print "$section:$_:$conf{$section}{$_}\n";
}
}
РЕДАКТИРОВАТЬ: Парсинг INI-формат тоже не сложно. Вам просто нужно добавить еще несколько if в цикл while и немного усложнить структуру данных% conf. Вместо хэша хэша вам понадобится хэш хэша, где ключом первого уровня является ключевое слово в [...], а вторым уровнем является то, что я написал здесь (для «pam = {»).