¿Cómo puede mi script Perl encontrar su módulo en el mismo directorio?
Recientemente escribí un nuevo script de Perl para eliminar procesos basado en el nombre del proceso / nombre de usuario y lo extendí usando Clases para poder reutilizar el código del proceso en otros programas. Mi diseño actual es -
/home/mutew/src/prod/pskill <-- Perl script
/home/mutew/src/prod/Process.pm <-- Package to handle process descriptions
Agregué ~ / src / prod en mi variable $ PATH para acceder al script desde cualquier lugar. Al ejecutarse, el script de cualquier directorio que no sea su directorio residente conduce a un "No se puede ubicar Process.pm en @INC" (lo cual es comprensible dado que aparte de los directorios compartidos en / usr, @INC incluye solo el directorio actual - '.'). Una solución alternativa que he estado usando es la directiva use lib como tal:
use lib '/home/mutew/src/prod';
pero este es un problema importante de portabilidad. ¿Alguna solución que también me permita exportar el script a otros sistemas sin cambios?
EDITA
Elegí la respuesta 'depesz' como la correcta debido a su simplicidad y al uso del módulo principal.a respuesta de @brian d foy, aunque sugiere otros métodos para lograr lo mismo (TMTOWTDI), su contribución en perlfaq8 hace que esta pregunta sea absolutamente redundante.