Efchen
5. Oktober 2007 um 09:46
1
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
Hallo,
Kann mir jemand erklären, woran das liegt? Ist das ein
Unixware-Bug? Ein Perl-Bug? Hab ich was wichtiges übersehen?
Du kannst testen, ob es ein Unixware-Bug ist, indem du das ganze mal in C schreibst (falls Unixware strftime() hat).
Grüße,
Moritz
Efchen
5. Oktober 2007 um 13:17
3
Du kannst testen, ob es ein Unixware-Bug ist, indem du das
ganze mal in C schreibst (falls Unixware strftime() hat).
In C funktioniert strftime ganz normal.
awk hat unter Unixware kein strftime.
strftime mit Perl unter Unixware geht nicht.
Woran liegts?
-Efchen
Hallo,
Du kannst testen, ob es ein Unixware-Bug ist, indem du das
ganze mal in C schreibst (falls Unixware strftime() hat).
In C funktioniert strftime ganz normal.
awk hat unter Unixware kein strftime.
strftime mit Perl unter Unixware geht nicht.
Woran liegts?
Dann scheint es wohl ein Perl-Bug zu sein.
Also:
http://rt.perl.org/rt3/Public/Search/Simple.html?q=s… durchlesen und schauen, ob es da irgendwo dabei ist.
ein aktuelles Perl kompilieren und damit testen (siehe http://dev.perl.org/perl5/source.html ).
Wenn es im der aktuellen Entwicklungsversion auch auftritt: noch schnell einen Bugreport schreiben, bevor perl 5.10 rauskommt
Grüße,
Moritz