open (REPORT,">$filename") || die "error"; ... $^ = "NEWPAGE"; ... foreach [outer loop] $~ = "FIRST_FORMAT"; write (REPORT); foreach [inner loop] $~ = "SECOND_FORMAT"; write (REPORT); [end inner loop] [end outer loop] close (REPORT) || die ... #### $oldHandle = select (REPORT); $~ = [format reference] select $oldHandle; #### write() on closed filehandle REPORT at script line xxx [repeated several times] Cannot close (Bad file descriptor)