in reply to 'no such file' when it's there.

There was another problem with the original code:
@files = qx(ls *.pl);
won't trim the newlines off the lines returned by ls.

Cheers; nat