Добрый вечер!
Для тестов подойдет IO::String,
http://search.cpan.org/~gaas/IO-String-1.08/String.pm
<http://search.cpan.org/%7Egaas/IO-String-1.08/String.pm>
$ perl -we 'package foo; sub bar { print "baz\n" }; package main; use
IO::String; my $str_out = IO::String->new(); $str_out->setpos(0); {
local *STDOUT = $str_out; foo->bar(); }; $str_out->setpos(0); print
<$str_out>;'
baz
25.12.2013 17:13, Харпалёв Иван пишет:
Доброго времени суток, глубокоуважаемый MoscowPM!!
Несколько вопросов связанных с дескрипторами:
1) Как написать $string = <$self->{$fd}> ??
2) Можно ли "определить STDOUT внутри пакета" снаружи него?
что-то вроде
perl -E '
package P;
sub f{print 33};
package main;
open my $out, "<out";
*P::STDOUT=$out; #или local или как-то ещё...
P->f()'
только, чтобы работало.
Кажется нужным для написания тестов всему, что срёт на экран.
Спасибо!
--
#!/usr/bin/Regards,
Pavel Zabolotniy
email: [email protected]
--
Moscow.pm mailing list
[email protected] | http://moscow.pm.org