#!/usr/bin/perl -w use strict; use FileHandle; use Fcntl qw(O_RDWR O_APPEND SEEK_SET); $| = 1; my $flag = 1; my $cntr = 0; my $cntrF = shift @ARGV; my $CF = new FileHandle $cntrF, O_RDWR | O_APPEND or die "'$cntrF' did not open: $!\n"; print $CF "$flag\n"; seek $CF, 0, SEEK_SET; while (<$CF>) { while (m/\b$flag\b/g) { $cntr++; } } print "cntr = $cntr\n"; #### $ echo 1 1 1 > foo.dat $ ./923297.pl foo.dat cntr = 4