Beefy Boxes and Bandwidth Generously Provided by pair Networks
good chemistry is complicated,
and a little bit messy -LW

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
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 wandering the Monastery: (4)
As of 2020-05-28 21:58 GMT
Find Nodes?
    Voting Booth?
    If programming languages were movie genres, Perl would be:

    Results (166 votes). Check out past polls.