@files = sort { lc(${@$a}[0]) cmp lc(${@$b}[0]) } @$refdataarr ;
I knew I'd seen something like the OPed syntax before in one of the dustier alcoves of this place, although admittedly with array refs. instead of hash refs. Please see "strict" violation on "sort" command with perl 5.10. That thread references the transition from Perl version 5.8 to 5.10, but unfortunately gives no further info as to why the syntax was the way it was or why it changed. The advice is just "don't do that." Bit of a dead end, there. Anyhoo...
Give a man a fish: <%-(-(-(-<