2012-10-09 30 views
20

use strict; 
use warnings; 
my $foo = undef; 

下の式は

Use of uninitialized value $foo in ... at ... 

を作るの両方が、次の式は番目を与えます空の文字列(警告なし):

$foo x 1 

誰でも知っていますか?つまり、素敵なストリングのイディオム($_ x 1はかなりdefined ? "$_" : ''よりも短いです)を持っているのはクールですが、ちょっと変わっているようです。

+2

私はそれが意図的ではなかったと確信しています。 – ikegami

+0

'perldoc perlop'(" Multiplicative Operators "を検索)は、' undef'の左オペランドで 'x'の動作について何も言いません。私はそれがおそらく意図的ではないことに同意する。 –

答えて

9

私はかつてロースクールのクラスの場面でショーを見た。インストラクターは学生に2つの同様のケースを提示し、なぜそれらが異なる裁定をもたらすのか尋ねました。判決は裁判官によってなされ、裁判官は人民だからだ。彼は結局説明した。

警告する必要があります。 Perlを扱う開発者は人です。必要に応じて、perlbugを実行してバグレポートを送信してください。

+1

+1フィルム/テレビの知恵。 – pilcrow

関連する問題

 関連する問題