Главная страница


ru.cgi.perl

 
 - RU.CGI.PERL ------------------------------------------------------------------
 From : Andrey Sapozhnikov                   2:5020/400     30 Mar 2002  03:11:30
 To : Victor Wagner
 Subject : Re: Hесколько вопросов к Ан дрею
 -------------------------------------------------------------------------------- 
 
 l.su> <a825he$18jv$1@ddt.demos.su> <3CA4A6AA.7020604@icb.chel.su>
 l.su> <3CA4AB16.3D03F9C@apmsun.mpei.ac.ru> <3CA4AE35.9010904@icb.chel.su>
 l.su> <a82ied$bsq$1@wagner.wagner.home>
 
 From: "Andrey Sapozhnikov" <sapa@icb.chel.su>
 "Victor Wagner" <vitus@45.free.net> wrote in message
 news:a82ied$bsq$1@wagner.wagner.home...
 
 > Andrey Sapozhnikov <sapa@icb.chel.su> wrote:
 >
 > AS> Konstantin Tokar wrote:
 >  >>>В определенных случаях эта конструкция может не отработать
 >
 > >>>
 > >>  Сработает. while(<>) - специальный случай while и окончание
 > >> цикла - не булевское условие в скобках.
 >
 > AS> Hе сработает. Внимательно перечитываем письмо. Там в
 > AS> скобках выражение присваивания: while ($FileLine = <FILE>),
 > AS> а не while (<FILE>). Про то, что второй вариант является
 > AS> исключением, я прекрасно знаю.
 >
 > Андрей, в следующий раз читай документацию прежде чем так говорить.
 > Я тоже хотел то же самое ответить, но что-то (возможно, мрачный взгляд
 > Артема Чуприны в спину) меня остановило. Я полез в perldoc perlop
 >
 > А там написано:
 >
 >       Anyway, the following lines are equivalent to each other:
 >
 >            while (defined($_ = <STDIN>)) { print; }
 >            while ($_ = <STDIN>) { print; }
 >            while (<STDIN>) { print; }
 >            for (;<STDIN>;) { print; }
 >            print while defined($_ = <STDIN>);
 >            print while ($_ = <STDIN>);
 >            print while <STDIN>;
 >
 >        and this also behaves similarly, but avoids the use of $_ :
 >
 >            while (my $line = <STDIN>) { print $line }
 
 Действительно, в документации к 5.6.1 все так и написано. Hо свою
 ошибку признаю лишь частично. Вот цитата из  perldoc perlop для
 perl 5.003:
 ....
        If and ONLY if the input symbol is
        the only thing inside the conditional of a while loop, the
        value is automatically assigned to the variable $_.  The
        assigned value is then tested to see if it is defined.
        (This may seem like an odd thing to you, but you'll use
        the construct in almost every Perl script you write.)
        Anyway, the following lines are equivalent to each other:
 
            while (defined($_ = <STDIN>)) { print; }
            while (<STDIN>) { print; }
            for (;<STDIN>;) { print; }
            print while defined($_ = <STDIN>);
            print while <STDIN>;
 
 Выходит, что я перестраховался упустив эти изменения в новых
 версиях из виду. Я для более старых я прав. Чтож, плохо... но
 лучше чем недостраховаться, не так ли?
 
 Андрей
 
 P.S. Hе попросишь у Артема его фотографию с пристальным взглядом?
 Хочу повесить у себя за спиной. :)
 --- ifmail v.2.15dev5
  * Origin: Demos online service (2:5020/400)
 
 

Вернуться к списку тем, сортированных по: возрастание даты  уменьшение даты  тема  автор 

 Тема:    Автор:    Дата:  
 <FILE> - uninitialized value ?   Sadretdinova Nelly   28 Mar 2002 21:35:22 
 Re: <FILE> - uninitialized value ?   Ilya Anfimov   28 Mar 2002 22:40:20 
 Re: <FILE> - uninitialized value ?   Sadretdinova Nelly   29 Mar 2002 13:12:35 
 Re: <FILE> - uninitialized value ?   Alexander V. Wolf   29 Mar 2002 10:37:58 
 Re: <FILE> - uninitialized value ?   Sadretdinova Nelly   29 Mar 2002 10:54:23 
 Re: <FILE> - uninitialized value ?   Alexander V. Wolf   29 Mar 2002 18:01:21 
 Re: <FILE> - uninitialized value ?   Artem Chuprina   29 Mar 2002 14:10:23 
 Re: <FILE> - uninitialized value ?   Sadretdinova Nelly   29 Mar 2002 15:57:41 
 Re: <FILE> - uninitialized value ?   Artem Chuprina   29 Mar 2002 16:10:02 
 Re: <FILE> - uninitialized value ?   Sadretdinova Nelly   29 Mar 2002 16:44:59 
 Совет   Igor Gerdler   29 Mar 2002 17:01:31 
 Re: Совет   Sadretdinova Nelly   29 Mar 2002 19:47:38 
 Re: Совет   Sergey Gernichenko   31 Mar 2002 23:12:14 
 Re: Совет   Konstantin Tokar   29 Mar 2002 20:20:34 
 Re: <FILE> - uninitialized value ?   Andrey Sapozhnikov   29 Mar 2002 19:31:04 
 Hесколько вопросов к Андрею   Igor Gerdler   29 Mar 2002 20:43:07 
 Re: Hесколько вопросов к Андрею   Victor Wagner   29 Mar 2002 21:28:08 
 Re: Hесколько вопросов к Ан дрею   Andrey Sapozhnikov   29 Mar 2002 21:50:43 
 Re: Hесколько вопросов к Андрею   Konstantin Tokar   29 Mar 2002 21:58:57 
 Re: Hесколько вопросов к Ан дрею   Andrey Sapozhnikov   29 Mar 2002 22:21:29 
 Re: Hесколько вопросов к Андрею   Konstantin Tokar   29 Mar 2002 22:54:13 
 Re: Hесколько вопросов к Андрею   Andrey Sapozhnikov   30 Mar 2002 04:08:46 
 Re: Hесколько вопросов к Андрею   Konstantin Tokar   30 Mar 2002 21:05:04 
 Re: Hесколько вопросов к Ан дрею   Victor Wagner   30 Mar 2002 00:23:06 
 Re: Hесколько вопросов к Ан дрею   Andrey Sapozhnikov   30 Mar 2002 03:11:30 
 Re: Hесколько вопросов к Ан дрею   Victor Wagner   30 Mar 2002 12:34:33 
 Re: Hесколько вопросов к Ан дрею   Vladimir Podgorny   31 Mar 2002 20:46:32 
 Re: Hесколько вопросов к Ан дрею   Nikolay Pichtin   30 Mar 2002 02:45:30 
 Re: <FILE> - uninitialized value ?   Sadretdinova Nelly   29 Mar 2002 22:29:42 
 Re: <FILE> - uninitialized value ?   Konstantin Tokar   29 Mar 2002 23:02:24 
 Re: <FILE> - uninitialized value ?   Sadretdinova Nelly   30 Mar 2002 11:21:02 
 Re: <FILE> - uninitialized value ?   Andrey Sapozhnikov   30 Mar 2002 03:21:44 
 Re: <FILE> - uninitialized value ?   Nikolay Pichtin   29 Mar 2002 21:38:30 
Архивное /ru.cgi.perl/6577a9bce88e.html, оценка 1 из 5, голосов 10
Яндекс.Метрика
Valid HTML 4.01 Transitional