jobsworth has asked for the wisdom of the Perl Monks concerning the following question:
i love perl but i wish to rant a bit. my script worked perfectly until i changed something somewhere else. the problem seems to be that perl does things behind your back like changing numbers to strings and back again instead of generating an error message. like microsoft windows very nice when it works but very difficult to fix when it does not. this code is a subroutine from a hit counter script which increments the counter in the file when you say Yes but otherwise not. it then goes on to generate a bmp file which contains the graphic of the hit counter. after many days and nights and much pondering i added the line sprintf and all was well. sprintf is what is happening behind your back all the time so why not now? please ignore the flock. it is supposed to make it multi-user. i don't know if it does or not. thank you for reading this.
sub opennumfile{ open(COUNT,$count) or die ("Can't open $count: $!"); flock(COUNT, 1); #shared lock for reading $c = <COUNT> ; close(COUNT) or die ("Can't close $count: $!"); if ($count =~ /\n$/) {chomp($c);} if (!defined($y = param('update'))){ $y = "Yes"; } if (uc($y) eq "YES"){ $c++; open(COUNTER,">$count") or die ("Can't open $count: $!"); flock(COUNTER, 2); #exclusive lock for writing print COUNTER "$c\n$somethingfile\n"; # path to the calling web page close(COUNTER) or die ("Can't close $count: $!"); } $c = sprintf("%d", $c); # essential line but only if $y ne "YES" $nim = $r = length($c); while ($r > 0) { $char[$r] = chop($c); $r--; } }
|
|---|
| Replies are listed 'Best First'. | |
|---|---|
|
Re: sprintf number to string
by stevieb (Canon) on Aug 14, 2015 at 13:53 UTC | |
by jobsworth (Novice) on Aug 17, 2015 at 06:51 UTC | |
|
Re: sprintf number to string
by Athanasius (Archbishop) on Aug 14, 2015 at 14:04 UTC | |
by jobsworth (Novice) on Aug 17, 2015 at 07:37 UTC | |
by Athanasius (Archbishop) on Aug 17, 2015 at 08:17 UTC | |
|
Re: sprintf number to string
by Crackers2 (Parson) on Aug 14, 2015 at 16:59 UTC | |
|
Re: sprintf number to string
by u65 (Chaplain) on Aug 14, 2015 at 13:55 UTC | |
by jobsworth (Novice) on Aug 17, 2015 at 07:55 UTC |