diff -urw Image-Xbm-1.08/Xbm.pm Image-Xbm-1.08.patched/Xbm.pm
--- Image-Xbm-1.08/Xbm.pm	2000-11-10 08:05:51.000000000 +1300
+++ Image-Xbm-1.08.patched/Xbm.pm	2004-08-22 17:16:09.000000000 +1200
@@ -140,7 +140,9 @@
     }
 
     my $file = $self->get( '-file' ) ;
-    $self->load if defined $file and -r $file and not $self->{'-bits'} ;
+    if (defined $file and not $self->{-bits}) {
+        $self->load if ref $file or -r $file;
+    }
 
     croak "new() `$file' not found or unreadable" 
     if defined $file and not defined $self->get( '-width' ) ;
