Use of uninitialized value in pattern match(已定义)

Use of uninitialized value in pattern match(已定义)

34         #遍历

 35         foreach my $media( @t_media_info_list )
 36         {
 37                 if( $referer   = ~/$media->[2]/ )
 38                 {
 39                 my $media_id = $media ->[0];
 40                 my $media_name =  $media ->[1];
 41                 }
 42                 else
 43                 {
 44                 $media_id = '';
 45                 $media_name =  '';
 46                 }
 47         }


请问是什么原因出这个警告?谢谢

Use of uninitialized value in pattern match (m//) at include/t_showdata.pl line 37.
Use of uninitialized value in pattern match (m//) at include/t_showdata.pl line 37.
Use of uninitialized value in pattern match (m//) at include/t_showdata.pl line 37.

@t_media_info_list是二维数组。

uninitialize
my $expr = quotemeta($media->[2]);
if( $referer =~ /$expr / )
试试看。
之前先把$media->[2]打印一下。
顺便,你要讲一下37行是哪一行啊。


QUOTE:
原帖由 cobrawgl 于 2009-1-8 11:51 发表
uninitialize

笑啥子哇!


QUOTE:
原帖由 撒哈拉里的鱼 于 2009-1-8 11:52 发表
my $expr = quotemeta($media->[2]);
if( $referer =~ /$expr / )
试试看。

试了,相同的错哦。

字面上好是说没有初始化变量。。

if( defined $media->[2] && $referer  = ~/$media->[2]/ )