配列内の最大値が配列の何番目であるか判別するためには、どのように書くのが簡潔でしょうか?

@list = qw(3 5 8 4 2 9 6 1 7);
#この例だと9が保存されている位置の5が欲しい

foreachで回しながら比較していくしかないのでしょうか?