##
my %h = map { defined ? $_ : $default }
map { chomp; (split /\s+/, $_, 2)[0,1] } ;
####
my %pairs = map { chomp;
my($k,$v)=(split ' ', $_, 2)[0,1];
defined $k ? ($k => $v // $default) : () } ;
####
my %pairs = map { chomp;
map @{ ([], [@$_, $default], $_)[scalar @$_] },
[split ' ', $_, 2] } ;