in reply to last index of array ref...

@array vs @{$arrayref} $array[0] vs ${$arrayref}[0] $#array vs $#{$arrayref}

It's definitely consistent. I don't see the problem.