Beefy Boxes and Bandwidth Generously Provided by pair Networks
Perl Monk, Perl Meditation

Re: opened file being overwritten

by 2teez (Vicar)
on Dec 13, 2012 at 20:30 UTC ( #1008716=note: print w/replies, xml ) Need Help??

in reply to opened file being overwritten

"..why isnt the filehandle FILE4 being printed out.."

Because when the subroutine finishes the filehandle also closes. Please also check that this in your code open FILE4,"$_[3]" || die "could not open $_[3]"; which has no ">" like the others.
bart you are right, I missed that.
Simply using strict and warnings would have indicated the problems.

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

Replies are listed 'Best First'.
Re^2: opened file being overwritten
by bart (Canon) on Dec 13, 2012 at 20:38 UTC
    That is just so wrong. FILE1...FILE4 are globals, meaning they won't be closed when the sub exits.
Re^2: opened file being overwritten
by perishowl (Initiate) on Dec 13, 2012 at 20:50 UTC

    still not working :(

    #!/bin/Perl use warnings; if (@ARGV < 4) { print ("you need to provide 4 arguments\n\t4th argument is file to + parse"); exit; } $fh = pop(@ARGV); openfile(@ARGV); sub openfile { open FILE1,">$_[0]" || die "could not open $_[0]"; open FILE2,">$_[1]" || die "could not open $_[1]"; open FILE3,">$_[2]" || die "could not open $_[2]"; open FILE4,">$fh" || die "could not open $fh"; while (my $line = <$fh>) { print $line; } }
      i get the warning readline() on unopened filehandle at line 21. so that would be my while loop while (<$fh>) { print $line; }

Log In?

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

How do I use this? | Other CB clients
Other Users?
Others rifling through the Monastery: (2)
As of 2022-07-02 18:03 GMT
Find Nodes?
    Voting Booth?
    My most frequent journeys are powered by:

    Results (103 votes). Check out past polls.