#!/usr/bin/perl use Storable qw(nstore_fd fd_retrieve); use IO::Zlib; use Data::Dumper; my $test = { foo => "bar" }; my $fh = IO::Zlib->new("out.gz", "wb"); nstore_fd($test, $fh); $fh->close; my $fh2 = IO::Zlib->new("out.gz", "rb"); my $href = fd_retrieve($fh2); $fh2->close; print Dumper $href;