use strict; use warnings; use Data::Dumper; my $s = <<'ENDSTR'; aaa : AAA bbb : BBB ccc : CCC ENDSTR my %hash = map { split( /\s+:\s+/, $_, 2) } split ( /\n/, $s ); print Dumper \%hash; __END__ $VAR1 = { 'bbb' => 'BBB', 'ccc' => 'CCC', 'aaa' => 'AAA' };