関数を定義する
$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 が、型グロブ型の変数になります。