in reply to Why is my data structure wrong?

I understand your desire to avoid autovivification. I wish there was a Perl pragma to disable it so I could detect certain types of programming mistakes. Since we lack such, my next suggestion is of little practical value.

However, you can initialize a list of reference like so:     my @data= map( {}, 1..$rows ); (Just a tiny tidbit.)

        - tye (but my friends call me "Tye")