在庫管理の機能をつけたいのですが
入荷毎の履歴から古いものから順番に在庫を減らす工程がわかりません。

$num='30';
---log
1<>29<>
2<>4<>
3<>16<>

---
というログをwhileで読み込んで行き、
$readline_num-$num がマイナスになるようなら
差分数値を次のreadline_numに…
という流れだと思うのですが
どうにもこうにも形にできません。

結果的には最初のlogが
---log
1<>0<>
2<>3<>
3<>16<>

---
という風になり、最終的に全部が0になるようならエラーを返したいのです。

アドバイスよろしくお願いいたしますm(_ _)m