You haven't specified how the double [Aussie] section is supposed to be handled... but in case this was just a typo, you could use Config::INI::Reader
use Config::INI::Reader;
my $str ="
[India]
Captain1 = Dhoni
Batsman1 = Sachin
Bowler1 = Zaheer
[Aussie]
Captain = Ponting
Batsman = Clarke
Bowler = Warne
[Aussie]
Captain = Hussey
Batsman = Waugh
Bowler = Mcgrath";
my $hash = Config::INI::Reader->read_string($str);
use Data::Dumper;
print Dumper $hash;
__END__
$VAR1 = {
'India' => {
'Captain1' => 'Dhoni',
'Bowler1' => 'Zaheer',
'Batsman1' => 'Sachin'
},
'Aussie' => {
'Bowler' => 'Mcgrath',
'Captain' => 'Hussey',
'Batsman' => 'Waugh'
}
};
Another similar module would be Config::Any::INI, but I think the latter can only take input from file:
use Config::Any::INI;
my $hash = Config::Any::INI->load('my.ini');
|