質問が曖昧すぎて混乱させてしまいました。申し訳無いです。
深夜に作業するもんじゃないですね。

n番目の値以外の要素を取り出したい、と言うのが真意でした。

#n番目の値以外を全て足し合わせると言うルーチンを作りたかった
#
#@foo = qw(1 2 3 4); という配列があったら
#$bar[0] = 2+3+4
#$bar[1] = 1+3+4
#$bar[2] = 1+2+4
#$bar[3] = 1+2+3

要素は重複する可能性があります。
#grepでそのままやるのは無理そう?