use strict; use warnings; use Data::Dumper; my $app_text = qq{one:partridge\ntwo:\nturtle doves\nthree:french hens\n}; my %fvPairs = map { split m{:\n?} } map { split m{(?Dumpxs( [ \ %fvPairs], [ q{*fvPairs} ] ); #### %fvPairs = ( 'three' => 'french hens', 'one' => 'partridge', 'two' => 'turtle doves' );