On Sun, May 15, 2005 at 09:21:25PM +0400, Alexey Shabalin wrote: > День добрый. > У нас вроде тоже самое. > Чем это может грозить? Это гонево какое-то. > > http://marc.theaimsgroup.com/?l=amavis-user&m=111458535106056 $ echo -n 'xxxx' | perl -e 'undef $!; while(<>){last if $_ eq "\n"}; $!==0 or die $!' Bad file descriptor at -e line 1, <> line 1. $ Это вовсе не ошибка. $! -- это errno, его нельзя в произвольном месте программы проверять, а *только* сразу после вызова функции, которая вернула "плохой статус" (undef) и которая в этом случае документированно устанавливает errno. Т.е. # правильное использование errno: open(...) or die $!; # редиски: { ... } $!==0 or die $!; Посмотрите в errno(3), там то же самое написано.