?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' }; ?
In reply to Re: Accessing value from a hash table in perl
by BillKSmith
in thread Accessing value from a hash table in perl
by DAN0207
| For: | Use: | ||
| & | & | ||
| < | < | ||
| > | > | ||
| [ | [ | ||
| ] | ] |