2003年09月17日

perlで関数の戻り値のリスト形式を配列として扱う

しょっちゅう忘れるのでメモ

たとえば今日の元旦からの通算日をコマンドラインでぱっと求めるならこんな感じ

perl -e 'print "${[localtime(time)]}[7]\n"'

読み出したcsv形式の行をソートしてから配列に入れるならこんな感じ

$line = sort @{[split(/,/,$CSVline)]}

関係ないけど、${[localtime(time)]}[7]の通算日ってこれが正式って言う言い方あるんでしょうかね?
ありそうな気がして調べてみたんですが、どうもどこにも載って無くって・・・

英語でも the day of the year ですし、なんか固有の呼び方は無いんですかね?

Posted by Takuchan at 2003年09月17日 17:08 | トラックバック(0)

第1フィールドを取りたいときに
$retval = (split(/,/, $CSVLine))[0]
なんてことも可能(笑)

Posted by: kulia@perl->PHP at 2003年09月24日 13:19

代入の時はそれでいいんですが、関数の引数として渡す際は上記の書式じゃないとわたらないですよ。
$retval = (split(/,/, $CSVLine))[0];
print $retval;
はできてても
print (split(/,/, $CSVLine))[0];
は通らないし。

Posted by: Takuchan at 2003年09月25日 14:50