#!/usr/local/bin/perl use strict; use warnings; use utf8; print "Content-type: text/html; charset=utf-8\n\n"; print "\n"; print "\n"; print "\n"; print "CGI test\n"; print "\n"; print "\n"; print "------------------
\n"; package foo; { my $hoge = 'サブルーチンの外'; print $hoge,"
\n"; #「サブルーチンの外」が出力される &example; #1度目のサブルーチン実行 #print文で「サブルーチンの中」が出力される sub example{ our $hoge; BEGIN { #BEGINは一度目の呼び出しに限り実行される $hoge = 'サブルーチンの中'; } print $hoge,"
\n"; } print $hoge,"
\n"; #「サブルーチンの外」が出力される &example; #2度目のサブルーチン実行 #print文で「サブルーチンの中」が出力される #our $hogeにより、データが保存されている } print $foo::hoge,"
\n"; #「サブルーチンの中」が出力される #ourは、パッケージ名前空間を利用できる package bar; { print $foo::hoge,"
\n"; #パッケージ名前空間を利用して参照することができる } print "------------------
\n"; print "\n"; print "\n";