A single File::LinearRaid object uses one file descriptor for every file component. If you are using a large array of files and/or a large number of raid objects, the total number of open file descriptors is likely to exceed the max limit per process.
Check the limit using "ulimit -n"
If this is indeed the problem, either redesign your program or raise the per process limit. Example: "ulimit-n 2048"
To make the change permanent, edit "/etc/security/limits.conf"
Note that there is also a maximum number for the entire system, if you run into this limit as well then you really need to reconsider your use of file descriptors. (Do you REALLY need all of those files open at the same time?)