Beefy Boxes and Bandwidth Generously Provided by pair Networks
go ahead... be a heretic
 
PerlMonks  

Re: the manuals fail me

by Util (Priest)
on Mar 28, 2012 at 21:59 UTC ( [id://962269]=note: print w/replies, xml ) Need Help??


in reply to the manuals fail me

I think it is clearer and less error-prone to open the file twice (input, then clobber and output) instead of opening once in read-and-write mode.
Working, tested code:

#!perl use strict; use warnings; my $filename = '/tmp/test.index'; my $index = 0; if ( -e $filename ) { open my $input_fh, '<', $filename or die "Failed to open '$filename' for input: $!"; my $line = <$input_fh>; if ( not eof $input_fh ) { die "File '$filename' has more than one line! Dying to avoid c +lobbering unexpected contents."; } close $input_fh or warn; chomp $line; $index = $line; } $index++; open my $output_fh, '>', $filename or die "Failed to open (and clobber) '$filename' for output: $!"; print {$output_fh} $index, "\n"; close $output_fh or warn;

Log In?
Username:
Password:

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

How do I use this?Last hourOther CB clients
Other Users?
Others chanting in the Monastery: (5)
As of 2024-03-29 12:11 GMT
Sections?
Information?
Find Nodes?
Leftovers?
    Voting Booth?

    No recent polls found