perl/コンテキスト
この他に今日は、以下のこともしました。時間がないので、また今度まとめますー。
・apacheの設定
・perlのライブラリパスの設定
#! usr/bin/perl use strict; use warnings; use Data::Dumper; #スカラーコンテキスト my $scalar1=123; my $scalar2=localtime(); #代入演算子「=」を使ってスカラー変数に代入するとき、「=」が右辺にスカラーコンテキストを与えている。 print "$scalar1\n";#出力結果=>123 print "$scalar2\n";#出力結果=>Tue Aug 18 16:06:56 2009 print Dumper $scalar2;#出力結果から、スカラーコンテキストになっていることが分かる。 print "\n"; #リストコンテキスト my @array1=localtime(); #代入演算子「=」を用いて配列に代入するとき、「=」が右辺にリストコンテキストを与えている。 print "@array1\n";#出力結果=>19 21 16 18 7 109 2 229 0=>「perldoc -f localtime」でそれぞれの数字が何のことか分かります。 foreach (@array1){ print "$_\n"; }; print Dumper \@array1;#出力結果から、配列(リストコンテキスト)になってることが分かる。 print "\n"; #printが与えるのはリストコンテキスト(printの後ろは、リストコンテキスト) my $greeting='hello'; print "\n"; #本当にリストコンテキストなのか、実際にリストを与えて実験してみましょう。 print (1,2,3); print "\n"; print ('your message is ',"$greeting",',right?',"\n"); =head print ("aa",'b3b',123,999)[2]; #出力結果=>添字を付けることによってスカラーになるため、エラー =cut print localtime(); #出力結果=>25251618710922290=>localtime()がリストコンテキストとして評価されたため。 print "\n"; #関数scalar=>強制的にスカラーコンテキストで評価することができる。 print scalar(localtime()); #出力結果=>Tue Aug 18 17:40:34 2009=>スカラーコンテキストで評価している print "\n";