2007年 10月 5

宣言していない変数を使用不可にする

Perl では C のように変数を宣言する必要がないので必要性がもうひとつはっきりしません。

use strict; が宣言されていると、変数がmy で宣言したプライベート変数か、パッケージ名を含めて完全に記述された変数しか使えなくなります。

不正な変数名の使用によるクラッシュを避けるためです。

このようにコンパイルに影響をあたえるモジュールを pragmatic module といいます。


mod_perlやSpeedyCGIなんかを使う時に誤動作を防ぐためにuseしてプライベート変数化しておくのに便利かも

More from my site

  • ただ単にダミー画像をperlで表示するだけのルーチンただ単にダミー画像をperlで表示するだけのルーチン CGIでダミー画像(GIF)を表示するだけのスクリプト。画像データ必要なし。 my @dummy = […]
  • useでライブラリを重複呼び出した場合useでライブラリを重複呼び出した場合 package abc;use CGI;・・・略package def;use […]
  • sjisの罠sjisの罠 perlの正規表現などのマッチングを行うとエラーになる事がある。 エラーメッセージUnmatched [ in regex; marked […]
  • CGI標準入出力ライブラリ stdio.plCGI標準入出力ライブラリ stdio.pl perlスクリプトを作成する上で面倒なのがフォームのデコードやメール送信時に文字コードをエンコードする…など。 他にもよくつかうサブルーチンをいろいろ詰め込んだライブラリ「stdio.pl」を使えばフォームデータのデコード処理、クッキー入出力、ファイルロック等たった1行で書く事が出来ます。 使用するにはstdio.plを呼び出す必要があります。使用するスクリプトとstdi […]
  • perlで外部プログラムを実行する際の注意点perlで外部プログラムを実行する際の注意点 system関数やパイプを使って外部プログラムを実行する時は 汚染チェックを必ずする。 エスケープするべき文字 & ; ` ' \ " | * ? ~ < > ^ ( ) [ ] { } $ \n […]
  • CGI::SpeedyCGI(PersistentPerl)によるPERLの実行速度アップ CGI::SpeedyCGI(PersistentPerl)によるPERLの実行速度アップ SpeedyCGIの導入 # yum install perl-CGI-SpeedyCGI ※要rpmfogeの導入 概要:http://perldoc.jp/docs/modules/CGI-SpeedyCGI-2.21/SpeedyCGI.pod MAXRUNSコマンドライン    : -rN環境変数       : […]

Filed under: perl

Trackback Uri



コメントする