Отсутствует модуль Switch при выходе из установки Perl


1

Я месяцами работал над 64-битным кластером Linux, и сегодня утром кажется, что модуль Switch для Perl исчез из системы.

Если я сделаю find на том месте, где я ожидаю, я получу:

find /opt/thirdparty/perl/ -name Switch.pm
/opt/thirdparty/perl/perl-5.16.2/lib/5.16.2/CGI/Switch.pm
/opt/thirdparty/perl/perl-5.18.1/lib/5.18.1/CGI/Switch.pm
/opt/thirdparty/perl/perl-5.16.0/lib/5.16.0/CGI/Switch.pm
/opt/thirdparty/perl/perl-5.14.2/lib/lib/5.14.2/CGI/Switch.pm
/opt/thirdparty/perl/perl-5.14.2/lib/lib/perl5/site_perl/5.8.8/CGI/Switch.pm
/opt/thirdparty/perl/perl-5.14.2/lib/5.14.2/CGI/Switch.pm
/opt/thirdparty/perl/perl-5.14.2/lib/perl5/site_perl/5.8.8/CGI/Switch.pm

perl --version

This is perl 5, version 14, subversion 2 (v5.14.2) built for x86_64-linux

perldoc POSIX
[...]
perl v5.14.2                      2012-06-26                          POSIX(1)

perldoc Switch
No documentation found for "Switch".

Есть идеи? Я путаю CGI :: Switch с Switch?

Ответы:


1

Коммутатор действительно удален из основного дистрибутива Perl в версия 5.14.0 (кластер был только что обновлен?)

Хотя на самом деле использование модулей Switch не рекомендуется, (но я не могу найти нерекомендованный сейчас), вы можете установить его либо из CPAN и, вероятно, ваш дистрибутив Linux также предоставляет его в виде отдельного пакета. Это, вероятно, просто и apt-get install или же yum install от вас.


связанный с этим вопрос: как я могу изменить свой код, чтобы он успешно работал как на старых версиях интерпретатора Perl, так и на новых в моем кластере? Спасибо
719016

1
Либо вы убедитесь, что Switch установлен на более новой версии, либо вы прекратили использовать switch и используете обычные конструкции if / elsif / else.
szabgab
Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.