http://qs321.pair.com?node_id=672749


in reply to The day of today

perl -le 'print +(localtime)[3]'

Runs under strict too.

-- Frank

Replies are listed 'Best First'.
Re^2: The day of today
by grinder (Bishop) on Mar 07, 2008 at 13:16 UTC

    This example confuses the issue. One might conclude that the + (plus) is necessary, when in fact it's not. It's only there to workaround print's brain-damage. It could be written less ambiguously as:

    my $dayOfMonth = (localtime)[3]; print "Today is day $dayOfMonth.";

    Note to gtrain: this is technically known as an array slice. You are taking the array of values returned by localtime and slicing out only the fourth (offset 3) element).

    • another intruder with the mooring in the heart of the Perl

      my $dayOfMonth = (localtime)[3];
      In Perl terminology this is not an array slice, a slice would contrain contain more than one element . An array slice expresses a list, not a scalar. An array slice expresses a list, not an array.

      Be well,
      rir