全くのPerl初心者が質問して良いですか?

例えば配列@list = ( 28, 10, 7, 15, 34, 9, 58, 2 ) を
ヒープソートするロジックを教えて頂きたいんですが・・・。

考えても考えても、どう表現したらいいかわからん。