On Oct 31, 2017, at 15:41, Murray Eisenberg wrote:

> On 31 Oct2017, at 4:37 PM, Ryan Schmidt wrote:
> 
>> On Oct 31, 2017, at 15:33, Murray Eisenberg wrote:
>> 
>>> On 31 Oct2017, at 4:30 PM, Ryan Schmidt wrote:
>>> 
>>>> On Oct 31, 2017, at 15:28, Murray Eisenberg wrote:
>>>> 
>>>>> On 31 Oct2017, at 4:26 PM, Ryan Schmidt wrote:
>>>>> 
>>>>>> On Oct 31, 2017, at 15:25, Murray Eisenberg wrote:
>>>>>> 
>>>>>>> On 31 Oct2017, at 4:22 PM, Ryan Schmidt wrote:
>>>>>>> 
>>>>>>>> On Oct 31, 2017, at 10:42, Murray Eisenberg wrote:
>>>>>>>> 
>>>>>>>>> How do I change perl5 so as to use perl5.26 rather than perl5.24?
>>>>>>>>> 
>>>>>>>>> I find:
>>>>>>>>> 
>>>>>>>>> [me]$ sudo port installed |grep perl5
>>>>>>>>> ...
>>>>>>>>> perl5 @5.24.2_0+perl5_24 (active)
>>>>>>>>> perl5.24 @5.24.2_0 (active)
>>>>>>>>> perl5.26 @5.26.0_2 (active)
>>>>>>>>> 
>>>>>>>>> I tried:
>>>>>>>>> 
>>>>>>>>> [me]$ sudo port install perl5 -perl5.24 +perl5.26
>>>>>>>> 
>>>>>>>> Not possible because perl5 does not have a perl5.26 variant yet.
>>>>>>>> 
>>>>>>>> $ port variants perl5
>>>>>>>> perl5 has the variants:
>>>>>>>> [+]perl5_24: Use MacPorts perl5.24
>>>>>>>> 
>>>>>>>> I don't know if that's because nobody got around to it yet or if 
>>>>>>>> there's some problem with it.
>>>>>>>> 
>>>>>>> 
>>>>>>> But:
>>>>>>> 
>>>>>>> [me]$ sudo port info perl5
>>>>>>> 
>>>>>>> perl5 @5.24.2 (lang)
>>>>>>> Sub-ports:            perl5.16, perl5.18, perl5.20, perl5.22, perl5.24, 
>>>>>>> perl5.26
>>>>>>> Variants:             [+]perl5_24
>>>>>>> 
>>>>>>> (And of course the perl5.26 port exists.)
>>>>>> 
>>>>>> Of course. The perl5.26 port exists. You can install and use it. But the 
>>>>>> perl5 port does not have a perl5_26 variant, which is what you asked 
>>>>>> about.
>>>>> 
>>>>> I guess I don’t understand what “info” is telling me: it says that per5 
>>>>> has a sub-port perl5.26. What does that mean?
>>>> 
>>>> It means that the perl5.26 port happens to be implemented as a subport of 
>>>> the perl5 port. Users don't really need to care whether a port is 
>>>> implemented as a subport or as a separate port. Subports are just a 
>>>> convenience for developers that lets multiple ports be defined within a 
>>>> single Portfile. It's a convenient way to reuse code for multiple similar 
>>>> ports, such as the multiple versions of perl that we offer.
>>>> 
>>>> Ports are different from variants. Each port can have variants. The perl5 
>>>> port has a perl5_24 variant. It does not have a perl5_26 variant.
>>> 
>>> Then exactly what does it mean to say, as “info” claims, that perl5 has a 
>>> perl5.26 sub-port? What is the relation of the perl5.26 sub-port to perl5?
>> 
>> The relationship is that both of them are defined in the same file -- this 
>> file:
>> 
>> https://github.com/macports/macports-ports/blob/master/lang/perl5/Portfile
>> 
>> Subports are shown in "port info" to help users discover related ports. For 
>> example if you want to install perl, and you run "port info perl5", you 
>> learn via the list of subports that you have a choice of which version(s) of 
>> perl5 you install.
>> 
> Sorry, still confused. “perl —version” reports “ perl 5, version 24.

Yes. "perl" is the symlink installed by the perl5 port. Because the +perl5_24 
variant of the perl5 port is installed, that symlink points to the perl5.24 
program.


$ ls -l $(port -q contents perl5)|grep 'bin/perl '
lrwxr-xr-x  1 root  wheel   8 Jul 24 22:30 /opt/local/bin/perl -> perl5.24


> Now that port perl5.26 is installed, how do I get to use perl 5.26?

You can run the "perl5.26" program directly:


$ perl5.26 -version | head -n 4

This is perl 5, version 26, subversion 0 (v5.26.0) built for 
darwin-thread-multi-2level

Copyright 1987-2017, Larry Wall


If you want to be able to run perl version 5.26 by just running "perl", file a 
ticket in the issue tracker and request the addition of a +perl5_26 variant to 
the perl5 port. As I said, I don't know why this has not already been done.


> (I know that for things like PHP, I can use “sudo port select …”.)

Yes. The saga of the perl ports and "sudo port select" is here:

https://trac.macports.org/ticket/29763




Reply via email to