pour mémo, si besoin futur
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37
| use strict;
use warnings;
use Data::Dumper;
my @AoH ;
my $current_hash = {};
while (<DATA>){
chomp $_;
if ( $_ =~ /objet => debut$/ .. /objet => fin$/){
if ( /objet => debut$/ ){
next;
}
elsif ( /objet => fin$/ ){
push @AoH, $current_hash;
$current_hash = {};
}
else{
my ($key,$value) = split /\s+=>\s+/,$_;
$current_hash->{ $key } = $value;
}
}
else{
print "unxpected content outside tags in line: [$_]\n";
}
}
print Dumper \@AoH;
__DATA__
objet => debut
index => 1
a => "premiere valeur"
z => "dernier mot"
objet => fin
ALIEN LINE AFTER fin
objet => debut
index => 77
a => "autre valeur"
z => "aurai-je le dernier mot ?"
objet => fin |
outputs:
unxpected content outside tags in line: [ALIEN LINE AFTER fin]
$VAR1 = [
{
'a' => '"premiere valeur"',
'index' => '1',
'z' => '"dernier mot"'
},
{
'z' => '"aurai-je le dernier mot ?"',
'a' => '"autre valeur"',
'index' => '77'
}
];
Partager