in reply to Perl-ish way to create hash from array

I'd consider it Perlish, because it gets the job done and is quite legible. However, you could do it on one line with a map if that feels Perlier to you:
my %csvColumns = map {$csvColumns[$_] => $_} 0 .. $#csvColumns;
Or you could use an explicit iterator with a do to limit scope:
my %csvColumns = do {my $i = 0; map {$_ => $i++} @csvColumns};
I know lots of folks would describe those as Perlier, though would not be using the phrase in a positive way.

#11929 First ask yourself `How would I do this without a computer?' Then have the computer do it the same way.