Thread Match in einer Textdatei
(9 answers)
Opened by Markus S. at 2011-05-31 14:17 Code (perl): (dl
)
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 #!/usr/bin/perl use strict; use warnings; # dateiname setzen my $file='report.xml'; # Datei als UTF-8 kodiert öffnen, oder Fehlermeldung open (my $fh,'<:encoding(UTF-8)', $file) or die("Error open $file ($!)\n"); # alles einlesen my @array=<$fh>; # Zeilenumbrüche entfernen chomp(@array); # Datei schließen close $fh; # das Array durchgehen for my $i (0..$#array) { # Arrayeintrag an stelle $i holen und mit "HALLO" vergleichen if($array[$i] eq 'HALLO') { print "match Line $i\n"; } } Wenn es dir nur um den Treffer geht: Code (perl): (dl
)
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 #!/usr/bin/perl use strict; use warnings; # dateiname setzen my $file='report.xml'; # Datei als UTF-8 kodiert öffnen, oder Fehlermeldung open (my $fh,'<:encoding(UTF-8)', $file) or die("Error open $file ($!)\n"); # alles einlesen my @array=<$fh>; # Zeilenumbrüche entfernen chomp(@array); # Datei schließen close $fh; # das Array durchgehen for my $line (@array) { print "match\n" if($line eq 'HALLO'); } oder wenn es dir nur darum geht Festzustellen, ob ein String in einer Datei ist: Code (perl): (dl
)
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 #!/usr/bin/perl use strict; use warnings; # dateiname setzen my $file='report.xml'; # Datei als UTF-8 kodiert öffnen, oder Fehlermeldung open (my $fh,'<:encoding(UTF-8)', $file) or die("Error open $file ($!)\n"); { # input line separator local $/=undef; # mit regulärem Ausdruck "HALLO" finden print "match\n" if( <$fh>=~/\nHALLO\n/ ); } # Datei schließen close $fh; Last edited: 2011-05-31 15:16:47 +0200 (CEST) |