my @stuff; while () { chomp; push @stuff, { map {split /\s*=\s*/} split /,\s*/ } } #### my @stuff; while () { chomp; my %record = map {split /\s*=\s*/} split /,\s*/; push @stuff, \%record; } #### my @stuff; while () { chomp; my @keysandvalues; my @field = split /,\s*/, $_; foreach $f (@field) { my ($key, $value) = split /\s*=\s*/, $_; push @keysandvalues, $key; push @keysandvalues, $value; } my %record = @keysandvalues; push @stuff, \%record; } #### $;=sub{$/};@;=map{my($a,$b)=($_,$;);$;=sub{$a.$b->()}} split//,".rekcah lreP rehtona tsuJ";$\=$ ;->();print$/