Michael Schroeder's fix for re-try if stdio ops after
[p5sagit/p5-mst-13.2.git] / lib / diagnostics.pm
index 5d8f4e7..1ba70c5 100755 (executable)
@@ -4,7 +4,7 @@ package diagnostics;
 
 diagnostics - Perl compiler pragma to force verbose warning diagnostics
 
-splain - standalone program to do the same thing
+splain - filter to produce verbose descriptions of perl warning diagnostics
 
 =head1 SYNOPSIS
 
@@ -16,7 +16,7 @@ As a pragma:
     enable  diagnostics;
     disable diagnostics;
 
-Aa a program:
+As a program:
 
     perl program 2>diag.out
     splain [-v] [-p] diag.out
@@ -168,7 +168,7 @@ Tom Christiansen <F<tchrist@mox.perl.com>>, 25 June 1995.
 =cut
 
 use strict;
-use 5.6.0;
+use 5.006;
 use Carp;
 
 our $VERSION = 1.1;
@@ -411,7 +411,7 @@ sub import {
     shift;
     $^W = 1; # yup, clobbered the global variable; 
             # tough, if you want diags, you want diags.
-    return if $SIG{__WARN__} eq \&warn_trap;
+    return if defined $SIG{__WARN__} && ($SIG{__WARN__} eq \&warn_trap);
 
     for (@_) {