Actually, since I happen to be running Linux in a VirtualBox VM on a Mac, it is easy for me to respond authoritatively to this. There is no “guessing game.” OS/X (Mach ...) behavior is identical to (any other ...) Unix is identical to Linux.
(“I just tried it ...” Just to make very sure ...)
The OP made a fundamental but common mistake: (s)he typo’d the path-name. Therefore, the command interpreter referenced in the shebang-line doesn’t exist, and it is as simple as that. The shell
should would have caught this error.
Therefore, the OP’s description of the situation contains intrinsic flaws which must now await the OP’s further clarification. Stay tuned.™ (The fundamental cause of the problem is obvious ... “bash somehow didn’t invoke Perl” ... but the particulars of the reported issue cannot be reproduced and indeed appear to be contradictory.)