in reply to File Indexing program

the problem is the program completes abruptly after a certain depth of folder

What does that mean? Is there an error? What's the return value for the program? (exit status).

Also I see no reason why you have to push things onto an array and then later write it to disk - you can just write it to file immediately. Then you'll also see which progress it made.

BTW the recommended way to walk through a directory tree is to use File::Find.