# set input operator to CRLF $/ = "\015\012"; # read header line by line while ( my $head = ) { last if m/^\015\012/; # must be a header line # do stuff } # header finished so read body line-wise while ( my $body = ) { # do whatever }