my ($x, $y, $z) = ('', '', ''); ($x, $y, $z) = split(',', $_); #### my ($x, $y, $z) = map { $_ || '' } split(',', $_); #### use strict; use warnings; $_ = "a,0,b"; my ($x, $y, $z) = split(',', $_); foreach ($x, $y, $z) { $_ = '' unless defined($_) } print "x = $x\ny = $y\nz = $z\n"; __END__ x = a y = 0 z = b