home *** CD-ROM | disk | FTP | other *** search
/ Chip 2000 May / Chip_2000-05_cd1.bin / zkuste / Perl / ActivePerl-5.6.0.613.msi / 䆊䌷䈹䈙䏵-䞅䞆䞀㡆䞃䄦䠥 / _59fd9d523796be1892d64820902e5902 < prev    next >
Text File  |  2000-03-24  |  3KB  |  138 lines

  1. @rem = '--*-Perl-*--
  2. @echo off
  3. if "%OS%" == "Windows_NT" goto WinNT
  4. perl -x -S "%0" %1 %2 %3 %4 %5 %6 %7 %8 %9
  5. goto endofperl
  6. :WinNT
  7. perl -x -S "%0" %*
  8. if NOT "%COMSPEC%" == "%SystemRoot%\system32\cmd.exe" goto endofperl
  9. if %errorlevel% == 9009 echo You do not have Perl in your PATH.
  10. if errorlevel 1 goto script_failed_so_exit_with_non_zero_val 2>nul
  11. goto endofperl
  12. @rem ';
  13. #!perl
  14. #line 15
  15.     eval 'exec perl -S $0 "$@"'
  16.         if 0;
  17. #############################################################################
  18. # podchecker -- command to invoke the podchecker function in Pod::Checker
  19. #
  20. # Copyright (c) 1998-1999 by Bradford Appleton. All rights reserved.
  21. # This file is part of "PodParser". PodParser is free software;
  22. # you can redistribute it and/or modify it under the same terms
  23. # as Perl itself.
  24. #############################################################################
  25.  
  26. use strict;
  27. #use diagnostics;
  28.  
  29. =head1 NAME
  30.  
  31. podchecker - check the syntax of POD format documentation files
  32.  
  33. =head1 SYNOPSIS
  34.  
  35. B<podchecker> [B<-help>] [B<-man>] [B<-(no)warnings>] [I<file>S< >...]
  36.  
  37. =head1 OPTIONS AND ARGUMENTS
  38.  
  39. =over 8
  40.  
  41. =item B<-help>
  42.  
  43. Print a brief help message and exit.
  44.  
  45. =item B<-man>
  46.  
  47. Print the manual page and exit.
  48.  
  49. =item B<-warnings> B<-nowarnings>
  50.  
  51. Turn on/off printing of warnings.
  52.  
  53. =item I<file>
  54.  
  55. The pathname of a POD file to syntax-check (defaults to standard input).
  56.  
  57. =back
  58.  
  59. =head1 DESCRIPTION
  60.  
  61. B<podchecker> will read the given input files looking for POD
  62. syntax errors in the POD documentation and will print any errors
  63. it find to STDERR. At the end, it will print a status message
  64. indicating the number of errors found.
  65.  
  66. B<podchecker> invokes the B<podchecker()> function exported by B<Pod::Checker>
  67. Please see L<Pod::Checker/podchecker()> for more details.
  68.  
  69. =head1 RETURN VALUE
  70.  
  71. B<podchecker> returns a 0 (zero) exit status if all specified
  72. POD files are ok.
  73.  
  74. =head1 ERRORS
  75.  
  76. B<podchecker> returns the exit status 1 if at least one of
  77. the given POD files has syntax errors.
  78.  
  79. The status 2 indicates that at least one of the specified 
  80. files does not contain I<any> POD commands.
  81.  
  82. Status 1 overrides status 2. If you want unambigouus
  83. results, call B<podchecker> with one single argument only.
  84.  
  85. =head1 SEE ALSO
  86.  
  87. L<Pod::Parser> and L<Pod::Checker>
  88.  
  89. =head1 AUTHORS
  90.  
  91. Brad Appleton E<lt>bradapp@enteract.comE<gt>,
  92. Marek Rouchal E<lt>marek@saftsack.fs.uni-bayreuth.deE<gt>
  93.  
  94. Based on code for B<Pod::Text::pod2text(1)> written by
  95. Tom Christiansen E<lt>tchrist@mox.perl.comE<gt>
  96.  
  97. =cut
  98.  
  99.  
  100. use Pod::Checker;
  101. use Pod::Usage;
  102. use Getopt::Long;
  103.  
  104. ## Define options
  105. my %options = (
  106.         "help"     => 0,
  107.         "man"      => 0,
  108.         "warnings" => 1,
  109. );
  110.  
  111. ## Parse options
  112. GetOptions(\%options, "help", "man", "warnings!")  ||  pod2usage(2);
  113. pod2usage(1)  if ($options{help});
  114. pod2usage(-verbose => 2)  if ($options{man});
  115.  
  116. ## Dont default to STDIN if connected to a terminal
  117. pod2usage(2) if ((@ARGV == 0) && (-t STDIN));
  118.  
  119. ## Invoke podchecker()
  120. my $status = 0;
  121. @ARGV = ("<&STDIN") unless(@ARGV);
  122. for (@ARGV) {
  123.     my $s = podchecker($_, undef, '-warnings' => $options{warnings});
  124.     if($s > 0) {
  125.         # errors occurred
  126.         $status = 1;
  127.     }
  128.     elsif($s < 0) {
  129.         # no pod found
  130.         $status = 2 unless($status);
  131.     }
  132. }
  133. exit $status;
  134.  
  135.  
  136. __END__
  137. :endofperl
  138.