Из документации Pod :: Parser :
В качестве альтернативы, объект IO :: String также принимается как дескриптор выходного файла.
Так что это совершенно законно:
#!/usr/bin/perl
use strict;
use IO::String;
use Pod::Text;
my $buffer;
my $io = IO::String->new($buffer);
my $parser= Pod::Text->new (sentence => 0, width => 78);
$parser->parse_from_file('/usr/share/perl5/Net/Jabber.pm',$io);
print $buffer;
С другой стороны, помните, что вы можете захватить вывод любой команды с помощью обратных галочек, например
$text = `/usr/bin/pod2usage /usr/share/perl5/Net/Jabber.pm`;
или qx{}
для ясности:
$text = qx{/usr/bin/pod2usage /usr/share/perl5/Net/Jabber.pm};