「すぐわかるPerl」2.11 なぞの値undef
#! C:\Perl\bin\perl -w
# undefwhat -- 初期化されていない変数には何が入っているか?$kotae = $nazo + 1;
print "$kotae\n"実行結果
C:\Documents and Settings\sironekotoro\デスクトップ>perl perlsample
Name "main::nazo" used only once: possible typo at perlsample line 4.
Use of uninitialized value in addition (+) at perlsample line 4.
1
初期化していない変数に1を足すと、答えが1になるので、変数の初期値は0と思われる。
文字列の場合には?
#! C:\Perl\bin\perl -w
# undefwhat -- 初期化されていない変数には何が入っているか?$kotae = $nazo."hahaha";
print "$kotae\n"実行結果
C:\Documents and Settings\sironekotoro\デスクトップ>perl perlsample
Name "main::nazo" used only once: possible typo at perlsample line 4.
Use of uninitialized value in concatenation (.) or string at perlsample line 4.
hahaha
0hahaha(ゼロhahaha)にならないので、$nazoには""空(から)文字列が入っていたと考えられる。
初期化されていない変数はundef(undefined)で定義されている。そのため、
・数値としてみた場合には0として振る舞い
・文字列としてみた場合には""として振舞う
undefは個別に定義する事も出来る。
#! C:\Perl\bin\perl -w
# undefwhat -- 初期化されていない変数には何が入っているか?$nazo=undef;
$kotae = $nazo."hahaha";
print "$kotae\n"実行結果
C:\Documents and Settings\sironekotoro\デスクトップ>perl perlsample
Use of uninitialized value in concatenation (.) or string at perlsample line 5.
hahaha
| 固定リンク
「Perl」カテゴリの記事
- 「すぐわかるPerl」 8.10 ディレクトリのリカーシブ処理(その2)(2009.02.24)
- 「すぐわかるPerl」 8.10 ディレクトリのリカーシブ処理(その1)(2009.02.23)
- 「すぐわかるPerl」 7.6 マッチした文字列と、その前後の文字列を扱う変数(2008.06.17)
- 「すぐわかるPerl」 8.9 コマンドの入出力に入出力を切り替える(2008.11.12)
- 「すぐわかるPerl」 8.8 標準入出力以外のファイルの制御(2008.10.08)









コメント