> 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.

Reply via email to