hab' die vorgeschichte nicht mitbekommen, aber ... :
der "open" befehl liefert einen Returncode. Ist dieser 0, dann war das "open" nicht erfolgreich.
Also z.B.
$dateiname = ... bestimmen von 1-12.shtml bis 24-12.shtml ... ;
$openresult = open (HANDLE, "<$dateiname");
if (! $openresult ) {
... Behandlung wenn datei nicht geöffnet werden konnte ...
}