[vox-tech] Perl script help

Matt Roper vox-tech@lists.lugod.org
Wed, 24 Mar 2004 18:46:51 -0800


On Wed, Mar 24, 2004 at 03:32:58PM -0800, Richard Crawford wrote:
> This script is supposed to remove everything between <form and reset>. 
> Yet, when I run it, it gives me this error:
> 
> print() on closed filehandle THENEWFILE at boardclean.pl line 23.
> Cannot print!! Bad file number

This makes it sound like THENEWFILE isn't begin opened properly...maybe
bad file permissions or something.  You probably want to check the
return value of open and the contents of $! after the open call; e.g.,
replace

> 	open(THENEWFILE, ">$file");
> 	print THENEWFILE $data or die "Cannot print!! $!\n";

with

    open(THENEWFILE, ">$file") || die "Can't open $file: $!\n";
    print THENEWFILE $data or die "Cannot print!! $!\n";

Now if the open fails, it should die and tell you what the problem was.


Matt

-- 

*************************************************
* Matt Roper <matt@mattrope.com>                *
* http://www.mattrope.com                       *
* PGP Key: http://www.mattrope.com/mattrope.asc *
*************************************************