#!/usr/bin/perl use Tie::File; my $fname = shift @ARGV; open my $fh_crlf, "<:crlf", $fname or die "Couldn't open '$fname': $!"; tie my @array, 'Tie::File', $fh_crlf, mode => O_RDONLY, memory => 0 or die $!; for my $line (@array) { # ... # $line has no trailing \r }