返信が遅くなって申し訳ありませんでした。 >のもとくんのお手本のキモは seek を使うところです。 なんぼさんのいうようにseekについて調べまして、 if(/^%%Begin(?:Data|Binary):?s+(?d+)/) { seek IN, $1, 1; この条件を加え、バイナリコードを飛ばしたところ、 大きなサイズのファイルも入力できるようになりました。 皆様ありがとうございました。