Fehler in strftime (Unixware)?

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

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:

  1. http://rt.perl.org/rt3/Public/Search/Simple.html?q=s… durchlesen und schauen, ob es da irgendwo dabei ist.
  2. 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 :wink:

Grüße,
Moritz