Thread Datei einlesen und Zeile in anderer Datei suchen
(6 answers)
Opened by bora99 at 2021-09-13 16:56
Na ja, was heißt "elegant" (gerade in Perl :) ) ? Im Prinzip war das ja schon nicht falsch, wie Du es gemacht hast, wenn man keine zusätzlichen Module benutzen will.
Aber ist "testfile_2" wirklich so groß, daß man den Inhalt der Datei nicht insgesamt in ein Array einlesen kann? Dann müßte man wohl bei jedem Schleifendurchlauf von "testfile_1" neu öffnen, wie Du es gemacht hast. Aber wenn man es in ein Array einlesen kann, wäre das nicht nötig. Dann also so: 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 #!/usr/bin/perl use warnings; use strict; my $TestFile_Read = "testfile_1"; my $TestFile_Search = "testfile_2"; my ($rfh, $sfh, $line_r, $line_s); open($rfh, "<", $TestFile_Read) or die "Test File '$TestFile_Read' kann nicht gelesen werden : '$!'\n"; open($sfh, "<", $TestFile_Search) or die "Test File '$TestFile_Search' kann nicht gelesen werden : '$!'\n"; my @searches = <$sfh>; chomp(@searches); close($sfh); while($line_r = <$rfh> ) { chomp($line_r); for $line_s (@searches) { if ($line_r eq $line_s) { print "Gefunden ($TestFile_Read in $TestFile_Search): $line_s\n"; last; } } } close($rfh); Last edited: 2021-09-16 15:20:29 +0200 (CEST) |