[Chicago-talk] get array element from a function return

Shawn Carroll shawn.c.carroll at gmail.com
Fri Dec 3 12:16:45 PST 2010


$ perl -MPOSIX=strftime  -e 'print strftime "%a", localtime()'
Fri
shawn.c.carroll at gmail.com
Perl Programmer
Soccer Referee



On Fri, Dec 3, 2010 at 14:09, Jim Thomason <jim at jimandkoka.com> wrote:
> To start with, you can just quote your list to get rid of your
> punctuation marks:
>
> perl -le 'print [qw(Sun Mon Tue Wed Thu Fri Sat)]->[[localtime(time)]->[6]]'
>
> And then drop the unnecessary refs and derefs:
>
> perl -le 'print qw(Sun Mon Tue Wed Thu Fri Sat)[(localtime)[6]]'
>
> You could also use the fact that localtime in a scalar context returns
> the ctime value, which'll have the day as the first 3 characters.
>
> perl -le 'print substr(scalar(localtime),0,3)'
>
> But there may be some portability issues across different locales or
> languages...
>
> -Jim....
>
> On Fri, Dec 3, 2010 at 1:59 PM, tiger peng <tigerpeng2001 at yahoo.com> wrote:
>> Hi,
>> To get the weekday name of current day in Perl, I am using some thing like
>> below. I do not like so many punctuation marks. Can it be simpler?
>>
>> perl -le 'print [("Sun", "Mon", "Tue", "Wed", "Thu", "Fri",
>> "Sat")]->[[localtime(time)]->[6]]'
>>
>> _______________________________________________
>> Chicago-talk mailing list
>> Chicago-talk at pm.org
>> http://mail.pm.org/mailman/listinfo/chicago-talk
>>
> _______________________________________________
> Chicago-talk mailing list
> Chicago-talk at pm.org
> http://mail.pm.org/mailman/listinfo/chicago-talk
>


More information about the Chicago-talk mailing list