in reply to File::Find limited recursion

Since you're using File::Spec you should probably be using splitdir.
Unlike just splitting the directories on the separator, empty directory names ("''") can be returned, because these are significant on some OSs (e.g. MacOS).
And since something like // would only occur if it were fed to File::find, counting the number of elements in the list should be fine.

--
perl -wpe "s/\b;([mnst])/'$1/g"