#!/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(.+)/

$1liga$2<\/p>/g; $line =~ s/^(\w.+)/

$1<\/td>:<\/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"; } }