我正在尝试在 perl 中使用 Pod::Simple,但我没有得到任何输出。我可以使用 Pod::Simple::Text 获得输出。这是一个简短的测试程序:
use English;
use strict;
use Pod::Simple;
use Pod::Simple::Text;
my $pod_document = <<END_POD;
=pod
=head1 NAME
something
=head1 SYNOPSIS
something else
=cut
END_POD
my $pod_parser = new Pod::Simple();
my $pod_output;
if ($ARGV[0] == 1) {$pod_parser->output_fh(*STDOUT);}
if ($ARGV[0] == 2) {$pod_parser->output_fh(\*STDOUT);}
if ($ARGV[0] == 3) {$pod_parser->output_fh(*STDOUT{IO});}
if ($ARGV[0] == 4) {$pod_parser->output_string(\$pod_output);}
if ($ARGV[0] == 5) {Pod::Simple::Text->filter(\$pod_document);}
$pod_parser->parse_string_document(\$pod_document);
if ($ARGV[0] == 4) {print $pod_output;}
exit 0;
我将此 perl 代码放入名为 pod-test.pl 的文件中。如果我使用命令行参数 1、2、3 或 4 运行它,我不会得到任何输出。'perl pod-test.pl 5' 工作正常。
我应该如何调用 output_fh 或 output_string 方法?