[patch] dumping tied globs without FILENO method on the debugger fails
authorSalvador Fandiño <sfandino@yahoo.com>
Sat, 25 Feb 2006 11:14:20 +0000 (12:14 +0100)
committerRafael Garcia-Suarez <rgarciasuarez@gmail.com>
Mon, 27 Feb 2006 14:45:00 +0000 (14:45 +0000)
Message-ID: <20060225101254.726.qmail@lists.develooper.com>

p4raw-id: //depot/perl@27342

lib/dumpvar.pl

index 43e107ff5f6b55f53a2acfac2559ad032724befa..fa5b4dfb47b4a2fbc809da09483d9030cf0d723d 100644 (file)
@@ -282,14 +282,14 @@ sub unwrap {
       if ($globPrint) {
        $s += 3;
        dumpglob($s, "{$$v}", $$v, 1, $m-1);
-      } elsif (defined ($fileno = fileno($v))) {
+      } elsif (defined ($fileno = eval {fileno($v)})) {
        print( (' ' x ($s+3)) .  "FileHandle({$$v}) => fileno($fileno)\n" );
       }
     } elsif (ref \$v eq 'GLOB') {
       # Raw glob (again?)
       if ($globPrint) {
        dumpglob($s, "{$v}", $v, 1, $m-1) if $globPrint;
-      } elsif (defined ($fileno = fileno(\$v))) {
+      } elsif (defined ($fileno = eval {fileno(\$v)})) {
        print( (' ' x $s) .  "FileHandle({$v}) => fileno($fileno)\n" );
       }
     }
@@ -368,7 +368,7 @@ sub dumpglob {
       unwrap(\%entry,3+$off,$m) ;
       print( (' ' x $off) .  ")\n" );
     }
-    if (defined ($fileno = fileno(*entry))) {
+    if (defined ($fileno = eval{fileno(*entry)})) {
       print( (' ' x $off) .  "FileHandle($key) => fileno($fileno)\n" );
     }
     if ($all) {