in reply to dynamic 2d array

You could avoid several temporary variables (line_number, count, column, @field) by doing:
push @d_array, [ $csv->fields() ];
If you wanted to get fancy (and cryptic), you could try:
@d_array = map { $csv->parse($_) ? [ $csv->fields() ] : warn($csv->error_input), () } <INFILE>;

I also suggest you pass a reference to printrow():

sub printRow{ my ($aref) = @_; print Dumper($aref); } ## call like this .. printRow(\@d_array); # using & is deprecated
UpdateFix typo, and formatted better.

     Have you been high today? I see the nuns are gay! My brother yelled to me...I love you inside Ed - Benny Lava, by Buffalax