It looks to me as though your problem is a result of two
things. First, you previously altered your system perl in order to
install Locale:gettext. Second, you upgraded your operating system
instead of doing a clean install. Here are three different
actions, any one of which may get you working again.
- Enter the command
which -a perl and see if your v5.16 Perl shows up. If it
does, hard code the path into your startup script, possibly at line 1147 of the file listed in the error. This solution is hackish, may come back to bite you in the future, but if it works might be the
fastest way to get those applications going.
administrator access (e.g. sudo) to install Locale::gettext into
your new system perl, v5.18. This also somewhat hackish and not recommended because it could cause side effects with the system or stop working due to upgrades, but probably would work fine.
- Install your own perl as a non-administrator, install
Locale::gettext to that version, and make it the default for your
user-id, leaving the system perl alone. This is the best fix of the three.
Perlbrew is a great way to accomplish the latter
fix. Follow these steps, and don't type "sudo" in any of them.
- Install perlbrew, initialize it with perlbrew init, and add the "source" line as indicated to the file ~/.bash_profile, creating that file if needed.
- Enter perlbrew available to get a list of perls. Install
one of them with perlbrew install <one-of-them>. The current stable version is perl-5.20.1 which would be a good
- Now you can enter perlbrew switch <the-same-one> to make it the first in your path and the default. Type perl -v
in a newly opened terminal to verify.
- Enter perlbrew install-cpanm and then cpanm
Locale::gettext and with luck the module will install without error and you'll be done.