Beefy Boxes and Bandwidth Generously Provided by pair Networks
Welcome to the Monastery

Re: the manuals fail me

by Util (Priest)
on Mar 28, 2012 at 21:59 UTC ( #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?

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

How do I use this? | Other CB clients
Other Users?
Others browsing the Monastery: (6)
As of 2021-10-26 12:39 GMT
Find Nodes?
    Voting Booth?
    My first memorable Perl project was:

    Results (90 votes). Check out past polls.