Beefy Boxes and Bandwidth Generously Provided by pair Networks
Don't ask to ask, just ask

Re: Quick and dirty counter

by CharlesClarkson (Curate)
on Jan 21, 2002 at 13:51 UTC ( #140357=note: print w/replies, xml ) Need Help??

in reply to Quick and dirty counter

A text file should end with a newline. Your code expects it, that's why you are using chomp.

print OUTFILE "pagecounter\n$Counter"; should be:
print OUTFILE "pagecounter\n$Counter\n";

Also, you should check open for success. Generally this is done with die:
open COUNTER, $counter_file or die "Cannot open $counter_file: $!";

Finally, you don't need the while block. If you know the count will always be on the second line:

my $counter_file = 'counter.txt'; open COUNTER, $counter_file or die "Cannot open $counter_file: $!"; my $first_line = <COUNTER>; chomp( my $counter = <COUNTER> ); close COUNTER;
$counter++; open COUNTER, '>', $counter_file or die "Cannot open $counter_file: $! +"; print COUNTER "$first_line$counter\n"; close COUNTER;

Assuming you keep ignoring the warnings merlyn mentions above.

Charles K. Clarkson

Log In?

What's my password?
Create A New User
Node Status?
node history
Node Type: note [id://140357]
and all is quiet...

How do I use this? | Other CB clients
Other Users?
Others drinking their drinks and smoking their pipes about the Monastery: (6)
As of 2017-06-25 06:39 GMT
Find Nodes?
    Voting Booth?
    How many monitors do you use while coding?

    Results (564 votes). Check out past polls.