This makes sense. From the command prompt you would be using the same perl as found from which perl. If the shebang is different, find out why. The system perl is not necessarily the one your application is expecting, nor is the one your shebang line pointing to necessarily appropriate for system use.
For my $day_job, I ignore the system perl entirely, and build or include the perl installation as part of my application (or set of applications). Changes to the system then have less of a chance of impacting my applications.