$main::_DATA_ =~ s/([@\$][A-Z_a-z\{\}]+)/pod_env($1)/eg;
- # Create tmp
- my $in_file = (-e '/dev/shm' ? '/dev/shm' : '/tmp')."/$NAME.$$";
my $in;
- open($in,">$in_file") or die "$NAME: Can't write into $in_file: $!";
- print $in $main::_DATA_;
- close $in;
+ open($in,'<',\$main::_DATA_);
- # Output
open(STDOUT,"|perl -pe 's/\.$$//g'".(($ENV{PAGER}||'') eq 'less' ? "|less -FRi" : ""));
my $opts = {
- -input => $in_file,
+ -input => $in,
-ouput => \*STDOUT,
-exitval => 'noexit',
-sections => [qw(SYNOPSIS DESCRIPTION OPTIONS)],
};
Pod::Usage::pod2usage($opts);
+ close $in;
close STDOUT;
- unlink $in_file if $in_file and -e $in_file;
exit 0;
}
my @Opt;
- $main::HELP_SPRINTF = 0;
sub pod_opt {
local $_;
my $o = shift;
$o =~ s/(=.|[\+\-\!]$)//;
$o = join(", ",map{"-$_"} split(/[\|,:;]/,$o));
- #return sprintf('%-20s',"$o");
- $main::HELP_SPRINTF = length($o) if length($o) > $main::HELP_SPRINTF;
return "$o";
}