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;
In reply to Re: the manuals fail me
by Util
in thread the manuals fail me
by Anonymous Monk
| For: | Use: | ||
| & | & | ||
| < | < | ||
| > | > | ||
| [ | [ | ||
| ] | ] |