my ($x, $y, $z) = ('', '', ''); ($x, $y, $z) = split(',', $_); #### $_ = 'a,b'; my ($x, $y, $z) = ('', '', ''); ($x, $y, $z) = split(',', $_); print(defined($z)?'defined':'undefined', "\n"); # prints undefined. #### my ($x, $y, $z) = map { defined($_)?$_:'' } (split(',', $_))[0..2];