$ perl -Mstrict -Mwarnings -E ' my $values = [ { name => " qwe ", last => " rty" }, { name => "asd ", last => " fgh " }, { name => " zxc", last => "vbn " }, ]; say "Raw:"; say "@{[%$_]}" for @$values; say "Filtered:"; say "@{[%$_]}" for map { { map { /^\s*(.*?)\s*$/; $1 } %$_ } } @$values; ' Raw: last rty name qwe last fgh name asd last vbn name zxc Filtered: name qwe last rty name asd last fgh name zxc last vbn #### say "@{[%$_]}" for map { { map { /^\s*(.*?)\s*$/; $1 } @{[%$_]} } } @$values;