Morgen Struppi ;-)
Wo ist das my?
Das steht natürlich weiter oben im Code. Bei meinen Scripten wird der
Deklaration im "Kopf" des Programms Aufmerksamkeit geschenkt. *g*
Hier ein kleiner Auszug über die Ordnung die bei mir herrscht:
--------------------------------------------------------
#################################
Skalare für Programmsteuerung
#################################
my $counter = 0;
#######################
Skalare aus Dateien
#######################
my $dbkundennummer;
#######################
Arrays aus Dateien
#######################
my @ListCollect;
######################
Skalar Zeitstempel
######################
my $DSIdentNr = time;
###############
Datenfilter
###############
$anrede =~ s/;//g;
$kundennummer =~ s/;//g;
$vorname =~ s/;//g;
$name =~ s/;//g;
$geboren =~ s/;//g;
--------------------------------------------------------
print qq(<p>), $day;
Bist du sicher, dass du weißt was qq macht?
Jo, mit dem "Doppelquot" kann ich jeglichen HTML-Code vom Quelltext in Perl rüberkopieren, ohne mir über Sonderzeichen Gedanken machen zu müssen. Ich hab das so verinnerlicht, daß ich es auch anwende, wenn ich es eigentlich gar nicht bräuchte. *g*
»» Zum formatieren des Datums eignet sich auch sprintf sehr gut:
my $fmt_date = sprintf('%02d-%02d-%04d', $day, $month, $year);
Aha, wieder was neues!
und da du sicher das CGI Modul verwendest:
print CGI::p($fmt_date);
Nein, ich verwende diese hier:
----------------------------------------------------------------
use CGI -no_xhtml;
use CGI::Carp qw(fatalsToBrowser warningsToBrowser);
use Fcntl ':flock';
use Date::Calc qw(Delta_Days);
use Date::Calc qw(Today);
use File::Copy;
----------------------------------------------------------------
Und von Date::Calc auch nur die beiden, die ich brauche.
Jetzt hast du eine Liste von Dateien mit den Namen $day, '-', $month usw. die kopiert werden sollen. Das ist Unsinn.
Gott sei Dank nicht. Dank dem sicheren Linux kamen mehrere Fehlermeldungen mangels Berechtigung woanders Ordner und Files zu schreiben.
z.b. so
copy("KDB-Data/KDB-A.csv","KDB-Backup/Kopie-KDB-A$fmt_date.csv") or die "Copy failed: $!";
Das hat mich inspiriert zu:
\-------------------------------------------------------------------
copy("KDB-Data/KDB-A.csv","KDB-Backup/KDB-A-$day-$month-$year.csv") or die "Copy failed: $!";
\-------------------------------------------------------------------
Allerdings frage ich mich, ob man nicht besser das Datum zu Beginn des Filenamens in einer für den Computer zählbaren Anordnung verwenden sollte. Dies würde die Auffindbarkeit bei sehr vielen Sicherheitskopien beschleunigen, wenn mann nach einem bestimmten Datum sucht. Die meisten OS Sortieren doch den Inhalt alphabetisch...
Gruß
Gary