in reply to File::Find subdirectory limit?
This is almost certainly that you are hitting the limits of the Win32 apis. They have a hard coded limit on the size of a path/filename. On my NT box this is 241 characters.
The actual path is fine being below this limit, but when you add all the /../s, it pushes it over the limit and the api just rejects it. At least it checks. MS have rather a bad history of not checking for buffer overruns:)
The problem lies with the File::Find modules use of this code, join('/',('..') x ($CdLvl-$Level)) which then gets appended to the full path of the current place in the directory structure. I'm not quite sure why they do this instead of </code>$currentpath = substr( $current_path, 0, rindex( '/', ($CdLvl-$Level) ) );</code>?
Isn't there a no-chdir option on File::Find? That would avoid the situation occuring maybe?
|
|---|