Я установил Perl 5.12 на свой сервер, но когда я пытаюсь проверить, какая версия работает, говорит 5.10.
У меня был установлен 5.10 ранее, так как я могу деактивировать эту старую версию и сделать 5.12 версией по умолчанию? Я бегу на Fedora.
В общем, вы не хотите удалять / удалять системный Perl. Это плохо
Вместо этого просто добавьте путь, по которому установлен новый perl, к вашему PATH. Или символическая ссылка или жесткая ссылка, которая perl в место в вашем PATH.
Проблема в том, что ваша система протестирована на определенном уровне Perl. Инструменты, поставляемые с дистрибутивом, на котором вы работаете, могут не обновляться для работы с новым уровнем Perl. Кроме того, если у вас есть бинарный дистрибутив (например, основанный на Debian или RPM), вы можете установить что-нибудь из своего дистрибутива, которое включает в себя модуль perl, включающий XS (код C), и этот debian/RPM/ что угодно будет не обязательно работать с новой версией Perl (пересечение границы 5.8/ 5.10 было определенно нет-нет).
Поэтому вы должны оставить системный Perl в покое.
Я добавил: добавьте ~/bin к моему PATH, перед /usr /bin, и затем перл с жесткой связью с желаемым Perl (у меня их больше одного). Затем я могу запустить " инструмент Perl", если я хочу использовать свой Perl, или я могу использовать "#!/home /myuser /bin /perl "в качестве первой строки для достижения той же идеи. Но для системных инструментов, которые обычно находятся в /usr /bin или /usr /sbin, у них будет "#!/usr /bin /perl "в качестве первой строки и запускается этим perl.
Не связывайтесь с вашим дистрибутивом. Вы будете самостоятельно, если что-то пойдет не так.
Во-первых, вам нужно проверить, используете ли вы новую версию Perl или старую (вы удалили старую версию перед установкой новой версии? Для этого сделайте:
$ whereis perl
perl: /usr/bin/perl /usr/share/man/man1/perl.1.gz
Затем вам нужно проверить установочный носитель, чтобы увидеть, где была установлена новая версия. если это не тот же каталог, то вам нужно либо обновить свой путь для поиска в каталоге, в котором вы установили новую версию Perl, прежде чем проверять каталог, где находится старая версия Perl, либо просто удалить старую версию.
Как уже отмечалось, проверьте свой путь. Выполните which(1), чтобы увидеть, где находится исполняемый файл Perl: which perl
должен сделать свое дело.
И вам не нужно удалять старую версию (хотя вы, возможно, захотите): для некоторых скриптов, которые вы запускаете, может потребоваться более старая версия. Никогда не знаешь.
Удостоверьтесь, что ваши сценарии perl имеют шебанг в качестве первой строки (командная оболочка использует это для выбора интерпретатора для выполняемого сценария). Строка shebang для Perl выглядит примерно так:
#!/path/to/desired/instance/of/perl -any -desired -perl -options -here
Если шебанг вашего сценария Perl выглядит
#!/usr/bin/perl
вы получите исполняемый файл Perl в этом месте.