ええと、文書を考えたのですが頭が混乱ぎみでうまく説明できそうにありません。
そこで俺がやりたい事を具体的に書こうと思います。

現在RPGを作ってます。
【@並び替えたリスト = sort {ルーチン} @リスト;】
「リスト」には、戦闘参加メンバーが順番に入ってます。
「並び替えたリスト」は、「リスト」のメンバーを素早さ順にしたいわけです。

ただ、各々の「素早さ」を取得するのが少々めんどうで、素早さが入っている変数名がダイレクトに分からないのです。
${"メンバーデータ$リスト[0]"}{'素早さ'};
こーゆー感じで書いた場合、メンバー一人分の素早さを取り出す事が出来ます。
「リスト」の中には何人いるか分かりませんが、全て戦闘参加メンバーです。
で、もし五人だった場合、
${"メンバーデータ$リスト[0]"}{'素早さ'}から${"メンバーデータ$リスト[4]"}{'素早さ'}
までの「リスト」(全メンバー)を素早さ順に「並び替えたリスト」にしたいのです。

こんな一見単純そうな事で俺の脳はパニックです。汗
ただ、どう書くのか記述自体を教えてもらうよりも、「$a」と「$b」に何が入るのか教えてくれたほうが嬉しいです。
今後のコトもありますので…。

もし、sort関数を使わないで、自作でループの記述があればそれを教えて下さったら、とてもありがたいです。
多少処理が重くても「$a」と「$b」のような理解出来ない(俺には)変数が登場するより安心できますから…。

考えたあげくにこんな説明ですみません。