Moin,
Im POSIX-Modul gibt es die Funktion strftime(). Laut Manual versteht diese auch unter Unixware das Format „%w“ (Wochentag als Zahl) oder %A (Wochentag ausgeschrieben) oder %W (Kalenderwoche).
Leider nicht bei mir. Es kommt immer überall 0 raus. Unter Linux funktioniert das einwandfrei.
#!/usr/bin/perl
use POSIX;
($fmt, $tt, $mm, $jj, $hh, $min, $ss)=@ARGV;
print strftime($fmt, $ss, $min, $hh, $tt, $mm-1, $jj-1900)."\n";
Aufruf: strftime.pl „%A, %x %T in KW %W“ 05 10 2007
Ergebnis Linux: Freitag, 05.10.2007 00:00:00 in KW 40
Ergebnis Unixware: Sonntag, 05.10.07 00:00:00 in KW 00
Kann mir jemand erklären, woran das liegt? Ist das ein Unixware-Bug? Ein Perl-Bug? Hab ich was wichtiges übersehen?
Alternativ könnte ich den Wochentag ja auch mit localtime() ermitteln, aber mich würde trotzdem interessieren, warum das nicht mit strftime geht.
Danke für die Hilfe,
-Efchen