>>501
たとえばMIME::Toolsなんかは、テンポラリファイルを作る仕組みがある。
またパースするときに標準入力などのストリームを利用することが出来る。

http://search.cpan.org/dist/MIME-tools/lib/MIME/Parser.pm#Temporary_File_Creation

使用メモリを少なくすくための設定があり、説明もしてあるのでコードを詳しく読んだのではないが
大きい添付ファイルがあった場合でも少ないメモリで動作するように一行毎に読み取って
添付ファイル部分であればテンポラリファイルに書き出していく動作をしているはず。
http://search.cpan.org/dist/MIME-tools/lib/MIME/Parser.pm#Minimizing_memory

モジュール使いたくないなら、無駄な作業だけどこれと同じものを再発明すれば?