kam zmizela?

Jiri Polcar polcar na physics.muni.cz
Středa Listopad 6 10:54:00 MET 2002


On Wed, Nov 06, 2002 at 10:44:26AM +0100, Honza Pazdziora wrote:
> 
> 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.
> 

Hoho! Parametr -w jsem pouzil, zapomel jsem ho vzit do mysi. Mam perl
5.6 a warning se me skutecne neobjevi. Cekla jsem undef. ( Tak trosku
jsem cekal i "pepa" -- v pripade, ze by `while' nejak napadlo
lokalizovat $_. ) Prazdny retezec bez warningu me znervoznel.

Pro jistotu jeste jednou cituji script:
---cite---
    #!/usr/bin/perl -w


    $_  = "pepea";
    @pole = qw( jeden dva tri );

    while  ( $_ = shift @pole ) { print "$_\n" }
    print "$_\n";
---cite---

a vystup

---cite---
    jeden
    dva
    tri

---cite---

-- 
JP


Další informace o konferenci Perl