ソート後に順番をつける
こんな感じでよかろうか?
$ perl -MData::Dumper::Concise -e ' @foo = qw/ g f e d c b a/; $idx=0; @bar = map {[++$idx, $_]} sort {$a cmp $b } @foo; print Dumper(\@bar);' [ [ 1, "a" ], [ 2, "b" ], [ 3, "c" ], [ 4, "d" ], [ 5, "e" ], [ 6, "f" ], [ 7, "g" ] ]