« Chapter6-Lesson1-Section2 営業秘密の保護とNDA | トップページ | Chapter6-Lesson1-Section3 技術的プロテクション »

2007年10月22日 (月)

「すぐわかる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

|

« Chapter6-Lesson1-Section2 営業秘密の保護とNDA | トップページ | Chapter6-Lesson1-Section3 技術的プロテクション »

Perl」カテゴリの記事

コメント

コメントを書く



(ウェブ上には掲載しません)


コメントは記事投稿者が公開するまで表示されません。



トラックバック

この記事のトラックバックURL:
http://app.cocolog-nifty.com/t/trackback/214806/16836679

この記事へのトラックバック一覧です: 「すぐわかるPerl」2.11 なぞの値undef:

« Chapter6-Lesson1-Section2 営業秘密の保護とNDA | トップページ | Chapter6-Lesson1-Section3 技術的プロテクション »