in reply to ulimit output?

I believe it has something to do with the shell that your ulimit command is running in.

The docs for `STRING` say:

A string which is (possibly) interpolated and then executed as a system command with /bin/sh or its equivalent.
You are using the bash shell, not the bourne shell (sh), and ulimit does not seem to be available in sh. If you turn on warnings, you get a little more info:
bash-3.00$ perl -w -e '$foo = `ulimit -n`; print $foo;' Can't exec "ulimit": No such file or directory at -e line 1. Use of uninitialized value in print at -e line 1. bash-3.00$

I'm not sure if there are other shell equivalents of ulimit or if you can fool perl into using bash somehow.

Hope this helps.