perl/コンテキスト〜スカラー変数に代入してもリストコンテキストとなる場合〜
まず、前知識として、以下のことを頭に入れておく。
print => リストコンテキストで評価する localtime() => スカラーコンテキストで評価された場合:戻り値例), Wed Aug 19 15:49:55 2009 リストコンテキストで評価された場合 :戻り値例), 31 51 15 19 7 109 3 230 0
#! usr/bin/perl use strict; use warnings; print scalar(localtime()); #出力結果=>Wed Aug 19 15:49:55 2009=>スカラーコンテキストで評価 print"\n----------------------------\n"; my $scalar=localtime(); print $scalar; #出力結果=>Wed Aug 19 15:49:55 2009=>スカラーコンテキストで評価 print "\n"; my @array=localtime(); my ($scalar2)=localtime(); #リストに代入している。 print "@array\n"; #出力結果=>31 51 15 19 7 109 3 230 0=>リストコンテキストで評価 print $scalar2."\n"; #出力結果=>31=>リストコンテキストで評価され、リストの最初が戻り値となっている。 print ($scalar2); #出力結果=>31=>リストコンテキストで評価され、リストの最初の値が戻り値となっている。 print "\n---------------------------\n"; my $x; print $x=localtime(); #出力結果=>Wed Aug 19 15:49:55 2009=>スカラーコンテキストで評価 print "\n"; print ($x=localtime()); #出力結果=>Wed Aug 19 15:49:55 2009=>スカラーコンテキストで評価