ABORT:while(<$fh>){ my $data = $_; my $params = fd_retrieve($fh); ... #### # Writing a message: my $message = { data => "Some message\nthat can contain newlines\n", params => \%params, }; nstore_fd($message, $fh); # Reading a message: my $message = fd_retrieve($fh); my $params = $message->{'params'}; my $data = $message->{'data'};