Leaked source code of windows server 2003
You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
|
|
@rem = '--*-Perl-*-- @echo off if "%OS%" == "Windows_NT" goto WinNT perl -x -S "%0" %1 %2 %3 %4 %5 %6 %7 %8 %9 goto endofperl :WinNT perl -x -S %0 %* if NOT "%COMSPEC%" == "%SystemRoot%\system32\cmd.exe" goto endofperl if %errorlevel% == 9009 echo You do not have Perl in your PATH. if errorlevel 1 goto script_failed_so_exit_with_non_zero_val 2>nul goto endofperl @rem '; #!perl #line 15 eval 'exec perl -S $0 "$@"' if 0; ############################################################################# # podchecker -- command to invoke the podchecker function in Pod::Checker # # Copyright (c) 1998-2000 by Bradford Appleton. All rights reserved. # This file is part of "PodParser". PodParser is free software; # you can redistribute it and/or modify it under the same terms # as Perl itself. #############################################################################
use strict; #use diagnostics;
=head1 NAME
podchecker - check the syntax of POD format documentation files
=head1 SYNOPSIS
B<podchecker> [B<-help>] [B<-man>] [B<-(no)warnings>] [I<file>S< >...]
=head1 OPTIONS AND ARGUMENTS
=over 8
=item B<-help>
Print a brief help message and exit.
=item B<-man>
Print the manual page and exit.
=item B<-warnings> B<-nowarnings>
Turn on/off printing of warnings. Repeating B<-warnings> increases the warning level, i.e. more warnings are printed. Currently increasing to level two causes flagging of unescaped "E<lt>,E<gt>" characters.
=item I<file>
The pathname of a POD file to syntax-check (defaults to standard input).
=back
=head1 DESCRIPTION
B<podchecker> will read the given input files looking for POD syntax errors in the POD documentation and will print any errors it find to STDERR. At the end, it will print a status message indicating the number of errors found.
Directories are ignored, an appropriate warning message is printed.
B<podchecker> invokes the B<podchecker()> function exported by B<Pod::Checker> Please see L<Pod::Checker/podchecker()> for more details.
=head1 RETURN VALUE
B<podchecker> returns a 0 (zero) exit status if all specified POD files are ok.
=head1 ERRORS
B<podchecker> returns the exit status 1 if at least one of the given POD files has syntax errors.
The status 2 indicates that at least one of the specified files does not contain I<any> POD commands.
Status 1 overrides status 2. If you want unambigouus results, call B<podchecker> with one single argument only.
=head1 SEE ALSO
L<Pod::Parser> and L<Pod::Checker>
=head1 AUTHORS
Brad Appleton E<lt>[email protected]<gt>, Marek Rouchal E<lt>[email protected]<gt>
Based on code for B<Pod::Text::pod2text(1)> written by Tom Christiansen E<lt>[email protected]<gt>
=cut
use Pod::Checker; use Pod::Usage; use Getopt::Long;
## Define options my %options;
## Parse options GetOptions(\%options, qw(help man warnings+ nowarnings)) || pod2usage(2); pod2usage(1) if ($options{help}); pod2usage(-verbose => 2) if ($options{man});
if($options{nowarnings}) { $options{warnings} = 0; } elsif(!defined $options{warnings}) { $options{warnings} = 1; # default is warnings on }
## Dont default to STDIN if connected to a terminal pod2usage(2) if ((@ARGV == 0) && (-t STDIN));
## Invoke podchecker() my $status = 0; @ARGV = qw(-) unless(@ARGV); for (@ARGV) { if($_ eq '-') { $_ = "<&STDIN"; } elsif(-d) { warn "podchecker: Warning: Ignoring directory '$_'\n"; next; } my $s = podchecker($_, undef, '-warnings' => $options{warnings}); if($s > 0) { # errors occurred $status = 1; } elsif($s < 0) { # no pod found $status = 2 unless($status); } } exit $status;
__END__ :endofperl
|