kam zmizela?

Honza Pazdziora adelton na informatics.muni.cz
Středa Listopad 6 10:43:21 MET 2002


On Wed, Nov 06, 2002 at 10:36:48AM +0100, Jiri Polcar wrote:
> 
> zajimalo by me, kam se podela hodnota $_
> 
>     $_  = 'pepa';
>     @pole = qw( jeden dva tri );
> 
>     while ( $_ = shift @pole ) { print "$_\n" }
>     print "$_\n";
> 
> Posledni `print' vytiskne pouze "\n" - neobjevi se ani warning, ze by
> $_ byl undef...

No, warning se objevi, akorat musite pouzit -w:

$ perl -w
    $_  = 'pepa';
    @pole = qw( jeden dva tri );

    while ( $_ = shift @pole ) { print "$_\n" }
    print "$_\n";
__END__
jeden
dva
tri
Use of uninitialized value at - line 5.


Jinak, jakou hodnotu byste tam ocekaval? Pri svem ctvrtem volani
ten shift vrati nedefinovanou hodnotu a to je presne ta hodnota,
ktera v $_ pak je.

-- 
------------------------------------------------------------------------
 Honza Pazdziora | adelton na fi.muni.cz | http://www.fi.muni.cz/~adelton/
      ... all of these signs saying sorry but we're closed ...
------------------------------------------------------------------------


Další informace o konferenci Perl