$0 should give the path to the script, unless it's implemented differently in various verions of Perl? You can use this to create a lock file and lock it (/path/script.pl.lock), then check for a lock every time you start the script. The following should work unless the cron job takes longer than two additional cron calls (flock waits forever until it can lock the file itself), and you can easily modify the routines to exit if the lock file exists.
$fh1 = &file_lock("$folder/index.html");
&file_unlock($fh1);
sub file_lock {
my $fhandle;
my $fpath = (shift) . '.lock';
open($fhandle, ">$fpath");
flock($fhandle, 2);
return [$fhandle, $fpath];
}
sub file_unlock {
my $inp = shift;
my ($fhandle, $fpath) = @$inp;
flock($fhandle, 8);
close($fhandle);
unlink($fpath);
}