##
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