App-Framework
view release on metacpan or search on metacpan
lib/App/Framework/Core/Script.pm view on Meta::CPAN
print "Note: $msg\n" ;
$handled = 1 ;
}
return $handled ;
}
# ============================================================================================
# NEW METHODS
# ============================================================================================
# TODO: Move to Pod feature
#----------------------------------------------------------------------------
=item B<script_usage($level)>
Show usage.
$level is a string containg the level of usage to display
'opt' is equivalent to pod2usage(2)
'help' is equivalent to pod2usage(1)
'man' is equivalent to pod2usage(-verbose => 2)
=cut
sub script_usage
{
my $this = shift ;
my ($app, $level) = @_ ;
$level ||= "" ;
#$this->debug(1);
$this->_dbg_prt(["Start of script_usage($level)\n"]) ;
# TODO: Work out a better way to convert pod without the use of external file!
# get temp file
my $fh = new File::Temp();
my $fname = $fh->filename;
# write pod
my $developer = $level eq 'man-dev' ? 1 : 0 ;
print $fh $this->pod($developer) ;
close $fh ;
# pod2usage
my ($exitval, $verbose) = (0, 0) ;
($exitval, $verbose) = (2, 0) if ($level eq 'opt') ;
($exitval, $verbose) = (1, 0) if ($level eq 'help') ;
($exitval, $verbose) = (0, 2) if ($level =~ /^man/) ;
#print "level=$level, exit=$exitval, verbose=$verbose\n";
# make file readable by all - in case we're running as root
chmod 0644, $fname ;
# system("perldoc", $fname) ;
pod2usage(
-verbose => $verbose,
# -exitval => $exitval,
-exitval => 'noexit',
-input => $fname,
-noperldoc =>1,
-title => $this->name(),
-section => 1,
) ;
$this->_dbg_prt(["End of script_usage()\n"]) ;
# remove temp file
unlink $fname ;
}
# ============================================================================================
# PRIVATE METHODS
# ============================================================================================
# ============================================================================================
# END OF PACKAGE
=back
=head1 DIAGNOSTICS
Setting the debug flag to level 1 prints out (to STDOUT) some debug messages, setting it to level 2 prints out more verbose messages.
=head1 AUTHOR
Steve Price C<< <sdprice at cpan.org> >>
=head1 BUGS
None that I know of!
=cut
1;
__END__
( run in 0.610 second using v1.01-cache-2.11-cpan-39bf76dae61 )