use PerlIO::gzip; open my $fh, '<:gzip', '/path/to/file.gz' or die $!; while (<$fh>) { # do stuff } close $fh or die $!;