use strict; use warnings; my %hash; while (my $line = ) { my ($key,$value) = $line =~ /^\s*(.+?)\s*=\s*([^\s]+?)\s*$/; $hash{$key}=$value; } foreach ( keys %hash ) { print $_, "=", $hash{$_}, "\n"; } __DATA__ Test 1 = 10 Test 2 = 20 Test 3 = 30