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


ru.perl

 
 - RU.PERL ----------------------------------------------------------------------
 From : Maxim Yemelyanov                     2:5020/400     17 Nov 2005  14:08:32
 To : Andrey Chernomyrdin
 Subject : Re: вопрос про STDOUT
 -------------------------------------------------------------------------------- 
 
 Приветствую!
 
 17 ноября 2005 г. в 11:04:33 Вы стучались к All:
 
 AC> Вот хотелось-бы узнать такую вещь:
 AC> В подпрограмму (foo) передают некий скаляр, если это reference - то
 AC> считаем что это некий объект который поддерживает метод print и 
 AC> с помощью этого метода выводим информацию, если это не reference -
 AC> то считаем что это имя файла который нужно открыть и выводить в 
 AC> него информацию.
 
 AC> Теперь если я хочу вывести информацию на STDOUT я передаю foo(
 AC> *STDOUT ), но *STDOUT - это не reference 8-/ и у него нет метода print. 
 
 AC> $ perl -e '$o = *STDOUT; print STDOUT ( "ref: <", ref( $o ), ">\n")'
 AC> ref: <>
 AC> $ perl -e '$o = *STDOUT; $o->print( "ref: <", ref( $o ), ">\n")'
 AC> Can't locate object method "print" via package "IO::Handle" at -e line 1.
 
 AC> Или я где-то в трех соснах заблудился, либо...
 
 сходу примерно так:
 
 use strict;
 use IO::Handle;
 
 sub foo {
         my $smth = shift;
 
         if (ref($smth) && $smth->can('print')) {
                 $smth->print(@_);
         }
         else {
                 open my $fh, '>>', $smth;
                 print $fh @_;
                 close $fh;
         }
 }
 
 my @to_print = qw(a text...);
 
 foo('bar.txt', @to_print);
 foo(IO::Handle->new_from_fd(fileno(STDOUT), 'w'), @to_print);
 
 -- 
 Удачи!
 Максим
 Отправлено через сервер Форумы@mail.ru - http://talk.mail.ru
 --- ifmail v.2.15dev5.3
  * Origin: Enigma Soft (2:5020/400)
 
 

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

 Тема:    Автор:    Дата:  
 вопрос про STDOUT   Andrey Chernomyrdin   17 Nov 2005 13:04:33 
 Re: вопрос про STDOUT   Maxim Yemelyanov   17 Nov 2005 14:08:32 
 Re: вопрос про STDOUT   Alexey Bavykin   17 Nov 2005 14:30:11 
 Re: вопрос про STDOUT   Andrey Chernomyrdin   17 Nov 2005 14:49:40 
 Re: вопрос про STDOUT   Alexey Bavykin   17 Nov 2005 15:19:56 
 Re: вопрос про STDOUT   Andrey Chernomyrdin   17 Nov 2005 15:47:54 
 Re: вопрос про STDOUT   yurik shestakov   17 Nov 2005 15:52:28 
Архивное /ru.perl/13126296174cd.html, оценка 2 из 5, голосов 10
Яндекс.Метрика
Valid HTML 4.01 Transitional