
スカラー変数 ハッシュ変数
PC開発環境・Perl文法・WEB利用・Apache・Windows10
Perlはインタプリタな言語です。ソースコードを直接解釈実行します。C言語などのようにコンパイル後に実行ファイルを作成するのではなく、ソースコードに記述された内容を実行時に順次処理していきます。
文法をチェックを厳しくするためにプラグマを利用し、より厳しい構文チェックを行うよう次の2行を書くようにします。
use strict;
use warnings;
安全でない構文を制限する。宣言されていない変数が利用されていた場合は、スクリプトを実行したときに、致命的エラーで止まります。
use strict;
# 変数を宣言(my)しているのでエラーにならない
my $num;
$num = 1;
use strict;
# 宣言していないのでエラー
$num = 1;
クォートされていない文字列の使用を禁止
use strict;
# 文字列をクォートしているのでエラーにならない
my $str = '文字列';
use strict;
# 文字列をクォートしているのでエラー
my $str = 文字列;
デフォルトでは、オプションの警告は無効なので、スクリプトが実行されます。warningsプラグマを使えば、警告を表示させることができます
use warnings;
# 未定義値を使用(変数に値がない)
my $str;
if($str eq ''){・・・}
#エラーメッセージ
Use of uninitialized value $str in string ne at xx.pl line 5