師匠の散歩

きままにPerlでも

パッケージの練習

グローバル変数の扱い/ test02.cgi

テストエリア
パッケージのグローバル変数の初期値
もういちどグローバル変数に書き込む
パッケージで定義された文字列

呼び出し側 test02.cgi
#!/usr/local/bin/perl
use strict;
require "header-lib.pl";                # original package fot header footer                 # パッケージは reqire で呼び出す

print "Content-type: text/html\n\n";                   

our $globalVar = "mainでグローバル変数を書き込む";
globaltest();                   # 何も表示されない

$head::globalVar = "もういちどグローバル変数に書き込む\n";
head::globaltest();                   # グローバル変数が書き換えられた

my $localvar = returntest();
print $head::localvar;                       # パッケージで定義された文字が表示される

$localvar = returntest2();
print $localvar;                       # 「パッケージのグローバル変数」と表示される


exit;

呼び出されるパッケージ test01.pl
package write;                          

$globalVar = "パッケージのグローバル変数の初期値\n";    # $パッケージ名::変数名 になる

$localvar = "パッケージで定義された文字列";

sub globaltest {
 print $globalVar;                      # 呼び出し側はグローバル変数だが、パッケージにはデータは渡らない
}

1;                              

Webでは「オブジェクト思考」なんたら「=>を用いて」などなど、難しいことが書かれているが、無理やり理解するのは断念する。

おさらい

  1. 基本的なデータの受け渡しは、普通の関数と同様でよい
  2. パッケージ内でグローバル変数を置いて計算に利用できる
  3. メイン側からも、パッケージに設置した変数を使うことができる

test02.cgi // Topに戻る // indexに戻る
Copyright(C) 2009-2021 Grandmaster Last up : 2020/09/18