use strict; use warnings; use IO::File; use PerlIO::gzip; my $ifh = IO::File->new( $ifile, '<:gzip' ) or die "Cannot open $ifile: $!\n"; while (<$ifh>) { ... }