sub undefined { return; } sub empty { my @array= (); return @array; } my @undefd; my @empty= (); my @dedefd= (1,2,3); @dedefd= undefined(); my @emptied= (1,2,3); @emptied= empty(); my @undef2= undefined(); my @empty2= empty(); print "\@undefd is defined\n" if defined @undefd; print "\@empty is defined\n" if defined @empty; print "\@dedefd is defined\n" if defined @dedefd; print "\@emptied is defined\n" if defined @emptied; print "\@undef2 is defined\n" if defined @undef2; print "\@empty2 is defined\n" if defined @empty2;