if ($path =~ m/\.gz$/) { $fh = new IO::Zlib } else { $fh = new IO::File } $ctx->throw('Abuse.open', "Problem opening Abuse report: $!") unless $fh->open($path, "r"); $rep = fd_retrieve($fh); close $fh;