http://www.perlmonks.org?node_id=1152670


in reply to Regex to capture field values

When you encounter name, start a new hash.
#!/usr/bin/perl use warnings; use strict; use Data::Dumper; my @array = ( 'name riya', 'age 34', 'company xxxx', 'name vinoth', 'age 25', 'call 12345678', 'company xxxx', 'address asdd', 'country Ind', ); my %hash; my $name; while (@array) { my $line = shift @array; if (my ($field, $value) = $line =~ /^(.*) (.*)/) { $name = $value if 'name' eq $field; $hash{$name}{$field} = $value; } else { warn "Invalid line '$line'.\n"; } } print Dumper \%hash;
($q=q:Sq=~/;[c](.)(.)/;chr(-||-|5+lengthSq)`"S|oS2"`map{chr |+ord }map{substrSq`S_+|`|}3E|-|`7**2-3:)=~y+S|`+$1,++print+eval$q,q,a,