while ( my $line = ) { chomp($line); print "Zeile: $line\n"; # Optionen für Zeile2 my %z2opt = ( Authority => 0, Exit => 0, Fast => 0, Guard => 0, Running => 0, Stable => 0, V2Dir => 0, Valid => 0 ); my $z2optstring = join( '|', keys %z2opt ); # Zeile3 if ( $line =~ /^opt v (\w+) ((?:\d+\.)*?\d+)$/ ) { print "Zeilentyp: 3\nName: $1\nVersion: $2\n"; } # Zeile1 if ( $line =~ /\s(\d{4}-\d\d-\d\d)\s(\d\d:\d\d:\d\d)\s(\d+\.\d+\.\d+\.\d+)\s(\d+)\s\d+$/ ) { print "Zeilentyp: 1\nDatum: $1\nUhrzeit: $2\nIP Adresse: $3\nPort: $4\n"; } # Zeile2 if ( $line =~ /^s\s((?:(?:$z2optstring)\s*)+)$/ ) { my $options = $1; print "Zeilentyp: 2\n"; foreach my $opt ( keys %z2opt ) { $z2opt{$opt} = 1 if $options =~ /$opt/; print $opt, ': ', $z2opt{$opt} ? 'yes' : 'no', "\n"; } } print "\n"; }