1 2 3 4 5 6 7 8 9 10 11 12 13 14
#!/usr/bin/env perl -w $pfad="./ligen"; @fileliste = glob("$pfad/*.txt"); foreach $filename (@fileliste) { print $filename; }
1 2 3 4 5 6 7 8 9 10
my @filesliste = glob('./ligen/*.txt'); foreach my $filename(@filesliste) { open(FH,"<$filename") { while (<FH>) { $line =~ s/(\w+)liga(.+)/<table id="tabelle"><p class="P_liga">$1liga$2<\/p>/g; $line =~ s/^(\w.+)/<tr><td class="mannschaft">$1<\/td><td class="tore1">:<\/td><\/tr>/g; } } close(FH); }
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 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62
#!/usr/bin/perl use strict; use warnings; # verzeichnis in dem gearbeitet werden soll my $base_dir='./ligen/*.txt'; # alle Dateien im Verzeichnis durchgehen # öffnen und einlesen # Inhalt ändern und in temporäre Datei speichern # Original löschen und durch die temporäre Datei ersetzen for my $filename (glob($base_dir)) { if(open(my $in_fh, '<', $filename)) { # erzeuge Temporären Dateinamen my $temp_filename=$filename; my $cnt=0; while(-f $temp_filename) { $temp_filename=$filename.'.'.$cnt.'.tmp'; $cnt++; } # öffne temporäre Datei zum schreiben if(open(my $out_fh,'>',$temp_filename)) { # Zeile in "$line" einlesen while (my $line=<$in_fh>) { # Inhalt von "$line" ändern $line =~ s/(\w+)liga(.+)/<table id="tabelle"><p class="P_liga">$1liga$2<\/p>/g; $line =~ s/^(\w.+)/<tr><td class="mannschaft">$1<\/td><td class="tore1">:<\/td><\/tr>/g; # alles in Temoräre Datei schreiben print $out_fh $line; } close($out_fh); } else { warn "ERROR: open $temp_filename ($!)\n"; } close($in_fh); # Wenn temporäre Datei vorhanden # dann original löschen # und temporäre Datei umbenennen if(-f $temp_filename) { if(unlink($filename)) { unless(rename($temp_filename,$filename)) { warn("ERROR rename $temp_filename to $filename ($!)\n"); } } else { warn("ERROR delete $filename ($!)\n"); } } } else { warn "ERROR: open $filename ($!)\n"; } }
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; use Tie::File; # verzeichnis in dem gearbeitet werden soll my $base_dir='./ligen/*.txt'; # alle Dateien im Verzeichnis durchgehen for my $filename (glob($base_dir)) { # Tie bindet Funktionalitäten an eine Variable # in diesem Fall wird das lesen/schreiben einer Datei # auf das ändern eines Arrays abgebildet my @file_array; if( tie(@file_array, 'Tie::File', filename) ) { for my $line (@file_array) { # Inhalt von "$line" ändern $line =~ s/(\w+)liga(.+)/<table id="tabelle"><p class="P_liga">$1liga$2<\/p>/g; $line =~ s/^(\w.+)/<tr><td class="mannschaft">$1<\/td><td class="tore1">:<\/td><\/tr>/g; } } else { warn("ERROR TIE filename ($!)\n"); } }