It is possible to read the filehandle’s position immediately before printing the empty (zero) value, and then later to return to this position in the file and overtype the zero value with the correct one. But this requires the file to be opened for writing rather than appending:
open(my $HTML, '>', 'OUT-access.html') or die "Cannot open file 'OUT-a
+ccess.html' for writing: $!";
...
print $HTML "There were ";
my $offset = tell $HTML;
printf $HTML "%7d", 0;
print $HTML " unique visitors in the logfile.<BR>\n";
...
# Calculate $IPcount;
...
seek $HTML, $offset, 0;
printf $HTML "%7d", $IPcount;
(The value of “7” in the format "%7d" assumes that the count will have at most 7 digits. Choose whatever number is appropriate for your use-case.)
See tell and seek.
Athanasius <°(((>< contra mundum