I tried to implement some advice about slurping that I read on this mailing 
list (using local) but cannot get it to work. I get the message “Value of 
<HANDLE> construct can be "0"; test with defined() at line 23” (the $slurp = 
<$fh1> line). I’m using perl version 5.18.2 installed in 2014.

I’ve googled this error and think (ha!) I understand it, but though I’ve tried 
many changes, I cannot make the error go away. I need the advice of folks who 
are way ahead of me!

Rick Triplett


use warnings;
use strict;
use DB_File; # module for Berkeley DBM w/ DB_HASH file type
use CGI::Carp qw ( fatalsToBrowser );

# Declare some globals
my $server = 'exploringmyself'; 
my $file_to_convert = 'Untitled.tab'; 

chdir "/big/dom/x$server/data/courses/"
    or die "Can't chdir to /courses: $!\n";
if (! -e "$file_to_convert") {
    die "Can't find $file_to_convert: $!\n"
};

my $slurp;
{
    local $/;
    open my $fh1, '<', $file_to_convert
        or die "Can't open $file_to_convert: $!\n"; 
    $slurp = <$fh1>
        or die "Could not slurp $file_to_convert: $!";
    $slurp =~ s/\r/\n/xmsg;     # swap Mac's CR for LF
    $slurp =~ s/\x0b/<br>/xmsg; # swap Filemaker paragraph marker VT for html
    close $fh1;
}

Reply via email to