Aquariophile: Zeit anzeigen

Hallo!

Wo ist das 1. Element also das also [2] bezeichmete Element?
Wieso gibt es $time[0], $time[3], $time[4] und $time[5]
aber keine $time[2] ??

Danke!

user@server:~$ perl -e '

my $localtime=localtime(time());
my @time= split(/ /, $localtime);

print "\n\n$time[0], $time[3].$time[1] $time[5]\n";
print "$time[4]\n";

print "\n\n";

print "What is $time[2] ??";
print "$time[2]\n\n";
'

Thu, 3.Apr 2003
02:08:03

What is $time[2] ??

user@server:~$

  1. Hallo,

    Wo ist das 1. Element also das also [2] bezeichmete Element?

    Aufpassen, $time[2] ist das 3. Element!

    my $localtime=localtime(time());

    Ich finde es extrem ungünstig, wenn Schlüsselwörter (wie z.B. Funktionsnamen) für Variablen verwendet werden, auch wenn es durchaus erlaubt ist. Zu schnell kann Verwirrung entstehen.

    my @time= split(/ /, $localtime);
    Wieso gibt es $time[0], $time[3], $time[4] und $time[5]
    aber keine $time[2] ??

    Gibt dir einmal das (skalare) Ergebnis von localtime aus und überprüfe wie viele Leerzeichen nach 'Apr' und dem Tag sind. Dann wirst Du wissen, warum $time[2] leer ist.

    Abgesehen davon kannst Du localtime auch im Array-Kontext verwenden, dann äbekommst Du die Einzelwerte des Datums frei Haus geliefert und mußt es nicht wieder aus dem String herausdröseln.

    Näheres findest Du unter
    perldoc -f localtime

    Grüße
      Klaus