サンプル:型グロブ
名前とデータ型の間に型グロブと呼ばれる構造を介在させることができます。
*コピー先型グロブ = *コピー元型グロブ
プログラム例1では、型グロブの代入の例を実行しています。配列、スカラー、ハッシュ、サブルーチンのグロブのコピーしています。
グロブとは、同じ名前でアクセスされる値へのポインタの集まりを指します。これをほかの変数へ代入することで、別名とすることができます。
実際にうまくいったかのチェックをしています。これ以外に、ファイルハンドルやフォーマットなどもコピーできます。同じ変数名でいろいろな型を定義しておき、コピーする場合に便利です。
プログラム例
#!/usr/bin/perl
$var1 = "スカラー";
@var1 = ("配列要素1" , "配列要素2");
%var1 = ("キー1" => "値1" , "キー2" => "値2");
sub var1 {
print "サブルーチン" , "\n";
}
*var2 = *var1;
print "スカラーのチェック:" , $var2 , "\n";
print "配列のチェック" , join("," , @var2) , "\n";
print "ハッシュのチェック" , %var2 , "\n";
print "サブルーチンのチェック:";
&var2;
実行結果
[it-engineer@home1 perl]# perl 20070531-2.pl
スカラーのチェック:スカラー
配列のチェック配列要素1,配列要素2
ハッシュのチェックキー1値1キー2値2
サブルーチンのチェック:サブルーチン
[it-engineer@home1 perl]#

