「perl cpanモジュールガイド」を読んだら、Number::Formatと興味深気なmoduleを見かけました。
lsコマンドでは、 -h (human-readable)スイッチで、K,M,G等 file sizeを人が読みやすい(分かりやすい?)感じに表示してくれます。
$ ls -lh total 3.1M drwxr-xr-x 4 endo endo 4.0K Apr 17 08:55 Gearman-1.11 -rw-rw-r-- 1 endo endo 27K Jan 17 2010 Gearman-1.11.tar.gz -rwxr--r-- 1 endo endo 3.0M Apr 18 00:06 MITSUMORI.pdf -rwxrw-r-- 1 endo endo 5.5K Apr 19 07:16 hoge.xls -rw-rw-r-- 1 endo endo 7.8K Apr 17 08:56 index.html
これを自前で実装するには、意外と面倒ですが、Number::Formatのformat_bytes() で実現できるようです。