RE: 'use strict' and filehandles
- From: tjohnson@xxxxxxxxxxxxxxxxx (Timothy Johnson)
- Date: Thu, 31 Aug 2006 12:28:25 -0700
If you want to pass a filehandle like that I would recommend using the
FileHandle module.
As your script stands, however, you have no reason to pass the
filehandle to the subroutine. You can just do a "print ERRLOG $scalar"
to print.
-----Original Message-----
From: Ted Fines [mailto:fines@xxxxxxxxxxxxxx]
Sent: Thursday, August 31, 2006 12:17 PM
To: beginners@xxxxxxxx
Subject: 'use strict' and filehandles
Hi,
I'm running into a Cach-22 with 'use strict', and filehandles.
I have a program which opens two log files at the beginning:
open(INFLOG,">>$info_log") || die "Could not append to $info_log_file.
Quitting.\n";
open(ERRLOG,">>$error_log") || die "Could not append to $error_log_file.
Quitting.\n";
Then throughout the program, different subroutines print to the log
files, e.g. in code sample A below, ERRLOG and INFLOG are declared at
the start. A subroutine tries to pass 'ERRLOG' or 'INFLOG' to the 'log'
subroutine as a parameter. With 'strict refs' in use, this code
generates this error:
L:\>test.pl
Bareword "ERRLOG" not allowed while "strict subs" in use at L:\test.pl
line 22.
<snip>
CODE SAMPLE A
START------------------------------------------------------
#!/usr/bin/perl
use strict;
use warnings;
my $info_log = 'testinfo.log';
my $error_log = 'testerror.log';
open(INFLOG,">>$info_log") || die "Could not append to $info_log.
Quitting.\n";
open(ERRLOG,">>$error_log") || die "Could not append to $error_log.
Quitting.\n";
# <snip>
sub log {
my ($logfile,$msg)=@_;
print $logfile "$msg\n";
}
------------------------------------------------------CODE SAMPLE A END
.
- Follow-Ups:
- Re: 'use strict' and filehandles
- From: Paul Lalli
- Re: 'use strict' and filehandles
- References:
- 'use strict' and filehandles
- From: Ted Fines
- 'use strict' and filehandles
- Prev by Date: 'use strict' and filehandles
- Next by Date: Re: 'use strict' and filehandles
- Previous by thread: 'use strict' and filehandles
- Next by thread: Re: 'use strict' and filehandles
- Index(es):
Relevant Pages
|