http://www.perlmonks.org?node_id=111344


in reply to undefined elements in array

This is simple:

print $array[$i][$j] if defined $array[$i][$j];

Or alternatively:

if (defined $array[$i][$j]) { print $array[$i][$j]; } else { print ''; }

cheers

tachyon

s&&rsenoyhcatreve&&&s&n.+t&"$'$`$\"$\&"&ee&&y&srve&&d&&print

Replies are listed 'Best First'.
Re^2: undefined elements in array
by Anonymous Monk on Aug 20, 2013 at 13:35 UTC
    mapping function can quite nice for this type of thing..
    e.g. @a = (1,2,3,undef,5); print $#a; @b = map(defined, @a); print join(',',@b);

      I think you meant grep, not map:

      0:14 >perl -wE "@a = (1,2,3,undef,5); say scalar @a; @b = map(defined +, @a); print join(',', @b);" 5 1,1,1,,1 0:14 >perl -wE "@a = (1,2,3,undef,5); say scalar @a; @b = grep(define +d, @a); print join(',', @b);" 5 1,2,3,5 0:14 >

      Hope that helps,

      Athanasius <°(((><contra mundum Iustus alius egestas vitae, eros Piratica,