#!/usr/bin/perl use strict; use warnings; my $infile='/path/to/infile'; my $fh = new FileHandle($infile,'r'); die "ERROR Open $infile ($!)\n" unless(defined($fh)); my $data=''; my $line; my $buff; while(!$fh->eof()) { $line=''; # Daten einlesen solange kein "\n" oder "\r" kommt while(!index($data,"\x0A") && !index($data,"\x0D") ) { $fh->read($buff,1024); # anpassen wenn es zu langsam ist... $data.=$buff; } # erste Zeile Heraussplitten ("\n" und "\r") gehen verloren # das läuft solange wie $data noch Newlines enthalten # das "split" ist recht langsam, mit "index" und "substr" währe es schneller ($line,$data)=split(/[\x0A\x0D]+/,$data,2); working($line); } # jetzt noch den Rest verarbeiten... working($_) for(split(/[\x0A\x0D]+/,$data)); close($fh); exit(0); ######################################### # Verarbeiten ########################### ######################################### sub working { my $line=shift; # arbeite damit ... }