for (;length;) { read (FIN,$_,1_000_000); m0: $_ .= unless eof FIN; if (/\\[\r\n]$/) { goto m0 unless eof FIN; } s#(/Title\s*)\(((?:[^\\\)]|\\.)+)\)#$1.repair_title($2)#eg; print FOUT; $len += length; print STDERR "$len\n"; }