http://www.perlmonks.org?node_id=1201649


in reply to Issues with pp and Tk

Oh! Yes, of course, I didn't even think of that – pp is probably using the system version, which doesn't have Tk, and is not very up-to-date generally. So I would need to somehow convince pp to use the ActivePerl version? Or is there another method?

I mean, in principle it should work anyway, since I've linked to Tk, but my experience with using the system version is nothing but frustration. Although I suppose if I could get it to work with the system version, without updating anything, then I wouldn't need to compile it at all...

Replies are listed 'Best First'.
Re^2: Issues with pp and Tk
by marto (Cardinal) on Oct 19, 2017 at 07:35 UTC

    If running multiple versions of perl you should run pp for the version of perl you're actually using. Otherwise, madness lies ahead. Binary comparability, version differences...

    I'd no idea anyone used ActiveState on MacOS. If you have the time consider looking at a combination of perlbrew and cpanm for perl & module installs.

      I should indeed, if I knew how to do that.

      I also used to think ActivePerl was just for Windows. I tried for months getting "normal" Perl to work properly, digging my way through endless indecipherable Unix errors, until I finally found that you could just install ActivePerl and have things at least sort of work. There may be better options, but I'm a simple Mac user, I don't get that complicated stuff. I just want to click an app, if possible.

        "I also used to think ActivePerl was just for Windows."

        I've never believed this to be the case. FWIW using Strawberry Perl removes all of the headaches of working on Windows by giving you a sensible build environment, which ActiveState does not. As mentioned perlbrew will set everything up for you in an sane manner.

        "I should indeed, if I knew how to do that."

        Since you've used ActiveState it'll be where ever the ppd file installed it to. Either set a sane environment variable (previously) so that the path to the version of perl you want to use has precedence, or just call pp with the full path, for example something like /Wherever/You/Installed/ActiveState/bin/pp. You can't call pp for the system perl and expect it to work with other versions of perl that you have installed.