open my $SRC, '<', $source_filename; until (eof $SRC) { my $buffer; read($SRC, $buffer, 200_000); $memfile .= $buffer; } close $SRC; open my $MEM, '<', \$memfile; ## now you can read from $MEM as a filehandle