> I want to use perlbrew, but it fails. > success with system perl: perl -Mojo -E 'say g("mojolicious.org > ")->dom->at("title")->text' > > fails with perlbrew, error involves IO::Socket::SSL but that seems to be > up to date. > > this statement is not entirely correct. See my replies below.
> westmj@penguin:~$ perlbrew switch perl-5.32.0 > westmj@penguin:~$ perl -Mojo -E 'say g("mojolicious.org > ")->dom->at("title")->text' > IO::Socket::SSL 2.009+ required for TLS support at > /home/westmj/perl5/lib/perl5/ojo.pm line 35. > westmj@penguin:~$ /home/westmj/perl5/perlbrew/perls/perl-5.32.0/bin/perl > -Mojo -E 'say g("mojolicious.org")->dom->at("title")->text' > IO::Socket::SSL 2.009+ required for TLS support at > /home/westmj/perl5/lib/perl5/ojo.pm line 35. > westmj@penguin:~$ cpanm install IO::Socket::SSL > install is up to date. (0.01) > IO::Socket::SSL is up to date. (2.068) > based on these commands, I'm guessing you have two installations at IO::Socket::SSL. There is one with verios < 2.009 under [1] ~/perl5/lib/perl5 ... and the other with version 2.068 is under [2] ~/perl5/perlbrew/perls/perl-5.32.0/lib/site_perl Also [1] is most likely part of your PERL5LIB I made these guesses based on the origin of message being: /home/westmj/perl5/lib/perl5/ojo.pm line 35. ... which is outside perlbrew's realm. The fact this is loaded by perl-5.32.0/bin/perl indicates that there some entries in @INC that comes before the default values of @INC -- you can see this partt at the end of `perl -V` (big V) There are probably some reason why that hapeens.. and the solution to this could be different. if you just want to make Mojo work for those commands, you could reinstall IO::Socket::SSL to path [1] by cpanm -L ~/perl5/ IO::Socket::SSL ... that said. do so will most likely break something somewhere else. In your case, cleaning PERL5LIB for that command might make it load the IO::Socket::SSL inside path [2]: perlbrew switch perl-5.32.0 PERL5LIB= perl -Mojo -E 'say g("mojolicious.org")->dom->at("title")->text' ... and if not, perhaps there are some other envs that's in the way. All in all, you could try to temporarily move ~/perl5 away to verify my guess. I also want to mention that there could be a third place where IO::Socket::SSL might live that is inside the site lib of your 'system perl'. This dependss on the shebang of your 'cpanm' command. (head -1 `which cpanm`) If the shebang of cpanm looks like '/usr/bin/env perl', it should be compatible with perlbrew, in termss of how version-switching works. If the shebang of cpanm looks like '/usr/bin/perl', or any path that pins to a particualr installation perl, then it cannot work with perlbrew. No mather what perlbrew version you switched to, that 'cpanm' command always install modules to one single place and is unrelated to perlbrew,, basically. If that seems to be the case, you could try invoking `perlbrew install-cpanm`, which should download a copy cpanm and save it right next to `perlbrew` executable. usually here: ~/perl5/perlbrew/bin/cpanm the shebang line of this one is slightly modified so it should be compatible with how perlbrew do version-switching . -- You received this message because you are subscribed to the Google Groups "Mojolicious" group. To unsubscribe from this group and stop receiving emails from it, send an email to mojolicious+unsubscr...@googlegroups.com. To view this discussion on the web visit https://groups.google.com/d/msgid/mojolicious/897ba3a0-6038-4f4d-959b-300fd690aa36n%40googlegroups.com.