# portmaster: AFFECTS: users of  lang/perl*



## Erratus (Jun 13, 2013)

In  /usr/ports/UPDATING can be read:


> 20130612:
> AFFECTS: users of  lang/perl* and any port that depends on it
> AUTHOR: az@FreeBSD.org
> 
> ...


But doing just that results in:

```
# portmaster -r perl

===>>> Working on:
        perl-5.16.3

===>>> Gathering distinfo list for installed ports


===>>> perl-5.16.3 1/1

===>>> Currently installed version: perl-5.16.3
===>>> Port directory: /usr/ports/lang/perl5.16

===>>> Launching 'make checksum' for lang/perl5.16 in background
===>>> Gathering dependency list for lang/perl5.16 from ports
===>>> No dependencies for lang/perl5.16


===>>> Checking ports that depend on perl-5.16.3

===>>> bsdpan-Clone-0.34 depends on perl-5.16.3
===>>> Launching child to reinstall bsdpan-Clone-0.34

===>>> Checking dependent ports >> bsdpan-Clone-0.34 (1/1)

===>>> BSDPAN ports cannot be upgraded with portmaster
       (bsdpan-Clone-0.34)


===>>> Update for bsdpan-Clone-0.34 failed
===>>> Aborting update

===>>> Killing background jobs
Terminated
===>>> Exiting
```
How should it be done properly?

And it raises the general question  on how to set up perl in FreeBSD, when Perl modules are installed via cpan or cpanp?

The CPAN installed Perl modules appear in portmaster as BSDPAN ports and have always been seen to be skipped by portmaster.  But now it breaks the rebuild which should be targeted at the p5- ports?


----------



## DutchDaemon (Jun 13, 2013)

Just find the ports equivalents of your CPAN modules, and deinstall the latter (`pkg delete` or `pkg_delete`) and install the former (e.g. devel/p5-Clone). A tool like ports-mgmt/psearch should make it relatively easy to find the ports version. Once everything's replaced, run the `portmaster -r perl` command.


----------



## Erratus (Jun 13, 2013)

Looks like the coexistence of CPAN modules and p5-ports is not that easy. I learned to prefer the CPAN modules, as they tend to be more actual than the p5-ports and one cannot get every module as p5-port. Right?

Once started with installing CPAN modules, more depends on CPAN modules are drawn in. And one can find probably hundreds of them after hacking Perl for some time.

In fact I started deinstalling some but not all p5-ports and reinstalled them as CPAN modules. This mix seems to be problematic for now, at least for portmaster.

What I've done now is `# portmaster -x bsdpan -r perl` and it looks like that it works, as it doesn't touch the bsdpan-modules.

Still some comments from Perl programmers on FreeBSD are welcome on that matter, as it is not clear to me if that kind of mix is healthy (for Perl)


----------

