in reply to Accessing value from a hash table in perl
?type DAN0207.pl use strict; use warnings; use Data::Dumper; my %hash_table; my $name; while (<DATA>) { chomp; s/^\s*//; next unless /Fruit_class/ .. /\}/; next if /Fruit_class|[{}]/; if (/^\s*fruitName/) { ($name) = /(\".+\")/; next; } s/(fruitCount|fruitValue)/$name\.$1/; my ($key, $value) = split /\s+/, $_, 2; $hash_table{$key} = $value; } print Dumper(\%hash_table); __DATA__ # this is a new file { date 14/07/2016 time 11:15 end 11:20 total 3 No "FRUITS" Fruit_class { Name "fruit 1" fruitName "apple_fru" fruitId "0" fruitCount 5 fruitValue 6 } ?perl DAN0207.pl $VAR1 = { 'Name' => '"fruit 1"', 'fruitId' => '"0" ', '"apple_fru".fruitValue' => '6 ', '"apple_fru".fruitCount' => '5' }; ?
|
|---|