You don't happen to have a file literally named "Found to be obsolete", do you? For a similar situation (see below), you can see that the
$! variable prints out
Permission denied. The
die function, since it's called on a string that doesn't end in
\n, appends
at find.pl line 13. That leaves the rest of the error message (
Found to be obsolete) as the unknown --
$file is the only thing that can account for it.
Simple test case:
$ touch foo
$ chmod 000 foo
$ perl -e '$file = "foo"; open FILE, $file or die "$! $file";'
Permission denied foo at -e line 1.