I don't think that is true. In fact, that is the first time I've heard it.
The difference in mod_perl is the interpreter is embedded in the apache process, so there is no overhead/load time for the perl interpreter.
Mod_perl scripts can terminate like any other script, but they have the advantage of being able to stay "in memory" waiting for the next request. For that reason, they have to follow certain rules.
When starting the apache server, you _can_ pre-load modules into the start up, and avoid the penalty of loading them later, but I've never heard of having to restart the server if a module changes.
I checked the mod_perl FAQ:
In reply to:
Do I have to restart the server when I change my Perl code?
Apache::Registry checks the timestamp of scripts that it has loaded and reloads them if they change. Other handlers and library modules are not automatically reloaded by mod_perl, but you can use the Apache::StatINC module to do this for you.
So all you need to do is a bit of house keeping, and you gain a tremendous (awesome) speed and performance boost for many types of scripts -- database access scripts especially.