#! /usr/bin/perl use strict; use warnings; # Eingabedatei wird als Argument übergeben my $infile = shift(@ARGV) || die "no infile specified.\n"; # Ausgabedatei heisst wie Eingabedatei mit Endung ".new" my $outfile = $infile . ".new"; # oeffne Eingabe lesend open my $in, '<', $infile or die "open($infile,ro) failed: $!\n"; # oeffne Ausgabe schreibend open my $out, '>', $outfile or die "open($outfile,w) failed: $!\n"; # lese zeilenweise LINE: while ( my $line = <$in> ) { # trenne Zeile in Spalten auf my @columns = split /\t/, $line; # weiter mit naechster Zeile wenn Bedingung erfüllt next LINE if $columns[1] == 45; # Zeile scheint OK, schreibe sie in Ausgabedatei print $out $line or die "print to $outfile failed: $!\n"; } # schliesse Ausgabedatei close $out or die "close($outfile) failed: $!\n"; # schliesse Eingabedatei close $in; # ersetze Eingabedatei durch die Ausgabedatei rename($outfile,$infile) or die "rename($outfile,$infile) failed: $!\n";