#! /usr/bin/perl -l use strict; use warnings; # Datei öffnen bitte implementieren # Dateihandle ersetzen durch oben genutzten while ( my $line = ) { my $pos = tell DATA; # Dateihandle ersetzen # Bei dieser Suchmethode ist die Reihenfolge der gesuchten Strings egal. # Suche nach festem String ohne Regex: #if ( index($line, 'AHF020', 0) >= 0 and index($line, 'ADC400', 0) >= 0 ) { # Such mit Regex if ( $line =~ m{AHF020} and $line =~ m{ADC400} ) { # naechste Zeile einlesen my $line2 = ; # Dateihandle ersetzen if ( $line2 =~ m{AAU1995} and $line2 =~ m{ARR1995} ) { print $line, $line2; } else { # kein Treffer in der zweiten Zeile, also Pointer zuruecksetzen # damit die Suche nach der ersten Zeile beim n?chsten Durchlauf # erfolgen kann. seek( DATA, $pos, 0 ); # Dateihandle ersetzen } } } # Datei schliessen bitte implementieren # Der folgende Teil kann wegfallen, wenn aus der Datei gelesen wird __DATA__ AIEA7#AHF020#AQX100#AJK888#AFED#CLD200901#ADC400#ADL0000000000000025,00+#AEA111# AAU1995#ARR1995#ZZZEND# AIEA7#AHF020#AQX100#AJK888#AFED#CLD200901#ADC400#ADL0000000000000025,00+#AEA111# AIEA7#AHF020#AQX100#AJK888#AFED#CLD200901#ADC400#ADL0000000000000025,00+#AEA111# AAU1995#ARR1995#ZZZEND#