in reply to "numeric" sort of keys?

If you want to sort the keys by the numeric value that comes after the literal alpha characters, 'Drive', you could do this:

@array = sort { substr( $a, 5 ) <=> substr ( $b, 5 ) } @array;

That's will tell sort to look at the 6th character (offest 5 from zero) of the key, and everything thereafter, which in your example is a numeric string. Perl coerces the numeric string into a numeric value when used in the context of <=>, if there are no non-number characters present.

That method assumes that 'Drive' always comes first. You'll have to look a little deeper into the perldocs for examples of how to sort by multiple criteria if you want to get more complicated than that.

Update: Looks like Zaxo was a faster typist than I and beat me to the same answer. His makes use of sort's ability to utilize an alternate subname to redefine the comparison mechanism, whereas mine makes use of sort's ability to utilize a block that works as an anonymous subroutine that can redefine the built-in comparison mechanism. Both are essentially the same thing with different presentation in this context.

Dave

"If I had my life to do over again, I'd be a plumber." -- Albert Einstein