my $podfile = "some.pod";
my $scalar = '';
tie *STDOUT, 'IO::Scalar', \$scalar;
podselect $podfile; # reads form $podfile, writes to STDOUT
untie *STDOUT;
# now $scalar contains the pod from $podfile
####
my $scalar = "some pod text";
tie *STDIN, 'IO::Scalar', \$scalar;
pod2html;
untie *STDIN;
# reads from 'real' STDIN, not from $scalar
##
##
#! perl -w
use strict;
use Pod::Html;
use IO::Scalar;
$|++;
my $text = <) { print "=1=$_"; }
untie *STDIN;
}
sub pipePod2html {
print "\n=pipePod2html================================== OK\n";
open PIPE, "| pod2html"; # works, because there is a pod2html.bat
print PIPE $text;
}
sub tiePod2html {
print "\n=tiePod2html================================== NOT OK\n";
tie *STDIN, 'IO::Scalar', \$text;
pod2html;
untie *STDIN;
}
sub tieOpenDash {
print "\n=3 tieOpenDash================================== NOT OK\n";
tie *STDIN, 'IO::Scalar', \$text;
# similar to what pod2html does:
open TSCLR, "<-" or die "can't open <-";
while () { print "=3=$_"; }
close TSCLR;
untie *STDIN;
}
__END__