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";