Thread Dateien aus Verzeichnis einlesen und zeilenweise bearbeiten (4 answers)
Opened by Bionerd at 2012-05-16 11:51

Bionerd
 2012-05-16 11:51
#158385 #158385
User since
2012-04-18
35 Artikel
BenutzerIn
[default_avatar]
Hi! Das Programm soll mehrere Dateien aus einem Verzeichnis einlesen und diese dann einzeln, Zeile für Zeile bearbeiten/durchsuchen und die Zeilen, auf die der reguläre Ausdruck zutrifft, anschließend in ein .txt schreiben. Jedoch kommt immer nur, dass kein Verzeichnis bei Line 7 gefunden wird, wenn ich das Programm ausführen möchte.

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
29
30
31
32
33
34
my $Verzeichnis = 'Sequenzen/';
my $out_dir='Paarungen/';
opendir(DIR, $Verzeichnis) || die "$Verzeichnis: $!";
my @Dateien = readdir(DIR);
foreach(@Dateien) 
{
        if($_ =~ /\.txt$/) 
        {
                open(my $fh,"$_") or die $!;
                $line = $_;
                chomp ($line);
        
                if ( ($line =~ /^([A-Z]+ (\W){1} [A-Z]+)/g))
                {       
                        $line =~ s/\s+//g;
                        $line =~ s/\+//g;
                        if ( ($line =~ /(Line1andLine2)/g))                     
                        {       
                                print $1 . "\n";
        # Ausgabe in Datei
                                my $outpath="$out_dir/h.txt";
                                if(open(my $fh, '>>', $outpath))
                                { 
                                        printf $fh ("$line .\n"); 
                                }
                                else
                                { 
                                        warn("Error open $outpath ($!)"); 
                                }
         close $fh;     
                        }
                } 
        } 
}

View full thread Dateien aus Verzeichnis einlesen und zeilenweise bearbeiten