Cuando cambias de perl, con la ayuda de perlbrew, estás ejecutando un perl nuevo, así que la lista de módulos es propia de ese perl.
Eso quiere decir que cada perl tiene su lista de módulos instalados.
Si te sale el error de que no localiza XML::XPath, es porque no está instalado para
ese perl.
Debes realizar la instalación de XML::XPath y del resto de módulos propios de esa versión.
En la página oficial de perlbrew, hay un artículo llamado
How To Reinstall All Modules On New Perl donde explica una forma rápida de hacerlo, con la ayuda del comando
cpanm:
Primero haces un
perlbrew use perl-....al perl en donde tenías los módulos ya instalados. Y luego haces un
perlbrew list-modules | perlbrew exec --with perl-5.14.4 cpanmEsto lo que hace es sacar la lista de módulos instalados en el perl actual, y ejecutar cpanm para que los vuelva a instalar, pero en el nuevo perl-5.14.4.
En el caso de que sea la primera vez que usas perlbrew, es obvio que no tienes instalado ningún módulo en ninguno de los perl de perlbrew. En ese caso, hay que seguir el procedimiento normal:
perlbrew use perl-5.14.4
cpanm XML::XPathEsto hay que hacerlo para todos los módulos que necesitemos.
Y, en el caso de que estemos actualizando perl constantemente, como es muy pesado hacer la instalación de módulos con cada nuevo perl, una opción es crear un directorio específico con nuestros propios módulos, con la ayuda de local::lib. Esto lo gestiona perlbrew de forma automática con la opción lib. Más información en
perlbrew help lib Esto se refiere, sobre todo, a nuestros propios módulos (aquellos que queremos probar con distintas versiones de perl), pero también puede valer para módulos bajados desde CPAN (siempre que estén escritos en puro Perl, o sean compatibles a nivel binario).