$_ = join ' ', @ARGV; my %defaults; $defaults{$1} = $2 while /([^\=]+)\=(\S+)/g; #### my %defaults = (); my ($k,$v); for (@ARGV) { if (($k,$v) = split('=',$_,2)) { $defaults{$k} = $v; } else { $defaults{$k} += " $v"; } }