|
|
ru.perl- RU.PERL ---------------------------------------------------------------------- From : Alexey Bavykin 2:5020/400 17 Nov 2005 15:19:56 To : Andrey Chernomyrdin Subject : Re: вопрос про STDOUT -------------------------------------------------------------------------------- Andrey Chernomyrdin -> Alexey Bavykin @ Thu 17/11/05 13:49 +0300 : >> use UNIVERSAL qw/can/; AC> Про это я знаю, просто странно что в IO::Handle нету метода print, хотя: AC> $ perldoc IO::Handle AC> NAME AC> IO::Handle - supply object methods for I/O handles [...] AC> $io->print ( ARGS ) AC> $io->printf ( FMT, [ARGS] ) AC> $io->stat AC> $io->sysread ( BUF, LEN, [OFFSET] ) AC> $io->syswrite ( BUF, [LEN, [OFFSET]] ) AC> $io->truncate ( LEN ) AC> то есть по документации вроде-бы как есть, а вот то, что я получаю AC> после *STDOUT имеет тип IO::Handle но не имеет метода print. С чего бы? *STDOUT это всетаки typeglob, а STDOUT - filehandle, но никак не объект. AC> Хотя если как советует Maxim Yemelyanov в своем посте: AC> IO::Handle->new_from_fd(fileno(STDOUT), 'w') то получаем AC> полноценный IO::Handle объект. Угу. AC> Просто не хотелось иметь такие сложности именно с STDOUT. Это ведь AC> должен быть полноценный объект, то есть записи: AC> print STDOUT "text\n"; AC> и STDOUT->print( "text\n" ); должны быть полностью идентичные. Если сделаешь use IO::Handle, то будут, почти. -- Alexey --- ifmail v.2.15dev5.3 * Origin: MTU-Intel ISP (2:5020/400) Вернуться к списку тем, сортированных по: возрастание даты уменьшение даты тема автор
Архивное /ru.perl/9311e744d4a6.html, оценка из 5, голосов 10
|