in reply to Open in for loop/array structure
As apl says, adding use strict and use warnings is always a good practice.
The expression <$FN[$k]> reads from the file handle $FN[$k]. Do your files out-02-00.txt, etc. contain a file name or do they contain data? If the latter, I think you want just $filename = $FN[$k];.
I am curious about this fragment:
print "$FN[$k]\n"; $filename = <$FN[$k]>; chomp ($filename); $file->open("< $filename") or die("Can't read the source:$!");
Update: The following curiosity has been cleared up by duff below.
The curious part is that my testing shows that $filename is actually being set to $FN[$k] (cygwin-perl 5.8.8). However, this supposedly equivalent code sets $filename to undef:
Update: Some more testing shows that if $f is the path of an existing file, then <$f> returns $f (assuming that $f has not been used as a file handle. Otherwise it returns undef. Ver interesting...... $filename = readline($FN[$k]); ...
|
---|
Replies are listed 'Best First'. | |
---|---|
Re^2: Open in for loop/array structure
by duff (Parson) on Jun 02, 2008 at 23:45 UTC | |
by pc88mxer (Vicar) on Jun 02, 2008 at 23:47 UTC | |
by ikegami (Patriarch) on Jun 03, 2008 at 00:02 UTC | |
Re^2: Open in for loop/array structure
by igotlongestname (Acolyte) on Jun 03, 2008 at 00:29 UTC | |
by ikegami (Patriarch) on Jun 03, 2008 at 00:57 UTC | |
by igotlongestname (Acolyte) on Jun 03, 2008 at 17:56 UTC | |
by ikegami (Patriarch) on Jun 03, 2008 at 20:01 UTC |
In Section
Seekers of Perl Wisdom