my @RowZero = ("a","b","c"); my @RowOne = ("d","e"); my @RowTwo = ("f","g","h","i"); my @TwoDimArray = (\@RowZero,\@RowOne,\@RowTwo); sub chooseColumn{ my($col, $Array2D)=@_; map {my $val =@{$_}[$col] ; $val = '' unless defined $vval; $val} @$Array2D} print join(' ', chooseColumn(1, \@TwoDimArray)); #### b e g