#!perl -w use strict; use CGI qw( :standard ); use CGI::Carp qw( fatalsToBrowser ); $|=1; my $count = 0; print header, start_html('Simple Counter'), "\n"; if( -e 'cnt.tmp' and not param('Start Over') ) { open COUNT, 'cnt.tmp' or die "Failed to open cnt.tmp, $!\n"; while() { if( /^\s*(\d+)\s*$/ ) { $count = $1; last } } close COUNT or die "Failed to close cnt.tmp, $!\n"; } print start_form(), "Count equals $count", br(), "\n", submit( -name=>"Again" ), submit( -name=>"Start Over", -value=>"Start Over" ), end_form(), "\n"; open COUNT, '>cnt.tmp' or die "Failed to open >cnt.tmp, $!\n"; print COUNT ++$count; close COUNT or die "Failed to close >cnt.tmp, $!\n"; print end_html();