関数を定義する
$str=&hello("Hanako");
print $str;
sub hello{
my($name) = @_;
"hello my name is $name\n";
}
#reference
{
$i=1;
print "before:$i\n";
$iref=\$i;
$$iref++;
print "after:$i\n";
}
#reference
{
#array:refrence
@array=(1..5);
print "before:@array\n";
&sub_by_ref(\@array);
print "after:@array\n";
}
sub sub_by_ref{
my($refarray)=@_;
for($i=0; $i < @$refarray; $i++){
$$refarray[$i]++;
}
}
$Long_name = "Hello World" ; @Long_name = (1,2,3,4) ;のように、同じ名前に別の型を定義することができます。これは、同じ名前(識別し)から、各型に振り分ける機構があるからで、これを、型グロブと呼びます。下図(http://www5a.biglobe.ne.jp/~n_rieko/perl/1.htmから引用)の *Longname が、型グロブ型の変数になります。
