... certainly the 2nd --
" ...avoid such similar names for two different things." (emphasis added!)

++ choroba.

But I'm not sure the first really cures anything. choroba's first comment got me experimenting with code minimally modified from the OP's ...

#!/usr/bin/perl use strict; use warnings; use 5.012; # #930268 my $OUTFILE; my @outfile=("F:/_Perl_/pl_test/abcd.out", "dev/nul/xyz.out"); for my $outfile(@outfile) { # $OUTFILE is a glob; dereference using $$OUTFILE. Otherwise warni +ng is ambiguous:'not open GLOB(0x1628c24) using' open ($OUTFILE,">", $outfile) or warn "\t Could not open $$OUTFILE + using \$outfile ($outfile), $!"; say "\t \$outfile is now $outfile"; print $OUTFILE "I wuz here in vers 1\n" or warn "\t Problem is wit +h \$outfile: $outfile\n"; close ($OUTFILE); } say "\n\n" . "-" x10 . " 2nd vers using lc \$outfile in the 'die'\n"; my $OUTFILE2; my @outfile2 = ("F:/_Perl_/pl_test/abcd2.out", "dev/nul/pqrst.out"); for my $outfile2(@outfile2) { say "\t \$outfile2 is currently $outfile2"; open ($OUTFILE2,">", $outfile2) or warn "\t Could not open $outfil +e2 using \$outfile2, $!"; print $OUTFILE2 "vers 2 produced this line\n" or warn "\t Problem +is with \$outfile2: $outfile2\n"; close ($OUTFILE2); }

The results don't seem to me to support a preference for which $var to 'die' (or, in my code, to 'warn'):

F:\_Perl_\pl_test>F:\_Perl_\pl_test\930268.pl $outfile is now F:/_Perl_/pl_test/abcd.out Could not open *main::$OUTFILE using $outfile (dev/nul/xyz.out), + No such file or directory at F:\_Perl_\pl_test\930268.pl line 12. $outfile is now dev/nul/xyz.out print() on closed filehandle $OUTFILE at F:\_Perl_\pl_test\930268.pl l +ine 14. Problem is with $outfile: dev/nul/xyz.out ---------- 2nd vers using lc $outfile in the 'die' $outfile2 is currently F:/_Perl_/pl_test/abcd2.out $outfile2 is currently dev/nul/pqrst.out Could not open dev/nul/pqrst.out using $outfile2, No such file o +r directory at F:\_Perl_\pl_test\930268.pl line 25. print() on closed filehandle $OUTFILE2 at F:\_Perl_\pl_test\930268.pl +line 26. Problem is with $outfile2: dev/nul/pqrst.out 10/08/2011 09:06a 22 abcd.out # content as expected + from the code above 10/08/2011 09:06a 27 abcd2.out # " 2 File(s) 49 bytes

Those with greater wisdom may add insight with their comments (I hope).


In reply to Re^3: readline() on closed filehandle by ww
in thread readline() on closed filehandle by Jeri

Title:
Use:  <p> text here (a paragraph) </p>
and:  <code> code here </code>
to format your post, it's "PerlMonks-approved HTML":



  • Posts are HTML formatted. Put <p> </p> tags around your paragraphs. Put <code> </code> tags around your code and data!
  • Titles consisting of a single word are discouraged, and in most cases are disallowed outright.
  • Read Where should I post X? if you're not absolutely sure you're posting in the right place.
  • Please read these before you post! —
  • Posts may use any of the Perl Monks Approved HTML tags:
    a, abbr, b, big, blockquote, br, caption, center, col, colgroup, dd, del, details, div, dl, dt, em, font, h1, h2, h3, h4, h5, h6, hr, i, ins, li, ol, p, pre, readmore, small, span, spoiler, strike, strong, sub, summary, sup, table, tbody, td, tfoot, th, thead, tr, tt, u, ul, wbr
  • You may need to use entities for some characters, as follows. (Exception: Within code tags, you can put the characters literally.)
            For:     Use:
    & &amp;
    < &lt;
    > &gt;
    [ &#91;
    ] &#93;
  • Link using PerlMonks shortcuts! What shortcuts can I use for linking?
  • See Writeup Formatting Tips and other pages linked from there for more info.