foreach(<>)がwhile(<>)に勝る点なんて何一つ無いね。
@array = <> ならランダムアクセスができるという利点はあるがな。でも結局foreachの出番は無いわな。