Beefy Boxes and Bandwidth Generously Provided by pair Networks
Do you know where your variables are?
 
PerlMonks  

Re^3: help with error 'readline() on unopened filehandle'

by 2teez (Priest)
on Feb 03, 2013 at 08:19 UTC ( #1016804=note: print w/ replies, xml ) Need Help??


in reply to Re^2: help with error 'readline() on unopened filehandle'
in thread help with error 'readline() on unopened filehandle'

Hi bhargavkanakiya,
from your code:

foreach my $filename( @files ){ my $file = "text_000".$variable."."."lab"; my $outfile = "$outdirname/"."$file"; open my $output , ">$outfile" || die "Can't open the output file!" +; print "file: $file\n"; while ( my $line = <$filename> ) { $line =~ s/^\s+//; $line =~ s/ +/ /g; $line =~ s/\s+$/\n/g; print $output $line; } close ($output); $variable++; }
$filename is the name of the file to open, and read from. In your code, "$filename" is not a FILEHANDLE.
In Perl Programming, you need a file-handle in the open function like thus:  open FILEHANDLE,MODE,EXPR
Note: that you are not opening, your file named "$filename" to read from. You are just using it in the while loop with readline function as while ( my $line = <$filename> ) {...} which should really be while ( my $line = <FILEHANDLE> ) {...} So, your code should be something like:
foreach my $filename( @files ){ my $file = "text_000".$variable."."."lab"; my $outfile = "$outdirname/"."$file"; open my $output,'>',$outfile or die "Can't open the output file: $ +!"; ## updated open my $fh,'<',$filename or die "can't open file: $!"; ## add +ed print "file: $file\n"; while ( my $line = <$fh> ) { $line =~ s/^\s+//; $line =~ s/ +/ /g; $line =~ s/\s+$/\n/g; print $output $line; } close $fh or die "can't close file: $!"; ## added close $output or die "can't close file: $!"; ## updated $variable++; }
NOTE: All codes are not tested please.

If you tell me, I'll forget.
If you show me, I'll remember.
if you involve me, I'll understand.
--- Author unknown to me


Comment on Re^3: help with error 'readline() on unopened filehandle'
Select or Download Code

Log In?
Username:
Password:

What's my password?
Create A New User
Node Status?
node history
Node Type: note [id://1016804]
help
Chatterbox?
and the web crawler heard nothing...

How do I use this? | Other CB clients
Other Users?
Others examining the Monastery: (12)
As of 2014-09-19 18:58 GMT
Sections?
Information?
Find Nodes?
Leftovers?
    Voting Booth?

    How do you remember the number of days in each month?











    Results (144 votes), past polls