Use File::Spec->catfile() for portability

You cannot run system("../foo") on Windows, it will
try to run a ".." command with "/foo" as the argument.

Also applicable to v5 branch.