Thread Datei einlesen und Zeile in anderer Datei suchen (6 answers)
Opened by bora99 at 2021-09-13 16:56

hlubenow
 2021-09-16 15:19
#193575 #193575
User since
2009-02-22
819 articles
BenutzerIn
[default_avatar]
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)

View full thread Datei einlesen und Zeile in anderer Datei suchen