Серия постов "Стандарты кодирования Perl". Часть 5: Лаконичность кода.
Серия постов "Стандарты кодирования Perl". Часть 5: Лаконичность кода.
Пройдя регистрацию API-пролежения, собственно, необходимо попробовать его возможности на небольшом примере. Естественно, на Perl.
Серия постов "Стандарты кодирования Perl". Часть 4: Безопасность и надёжность кода.
Ранее размещал пост о том, как просмотреть список установленных perl-модулей со CPAN. В данном материале речь зайдет о удалении CPAN-модулей.
Делается это очень просто. Создадим скрипт delete.pl с содержимым:
#!/usr/local/bin/perl -w
use ExtUtils::Packlist;
use ExtUtils::Installed;
$ARGV[0] or die "Usage: $0 Module::Name\n";
my $mod = $ARGV[0];
my $inst = ExtUtils::Installed->new();
foreach my $item (sort($inst->files($mod))) {
print "removing $item\n";
unlink $item;
}
my $packfile = $inst->packlist($mod)->packlist_file();
print "removing $packfile\n";
unlink $packfile;
И запустим его с root-правами, указав удаляемый модуль:
sudo perl delete.pl Module::Name
Имея большой объем текста, в нем, наверняка, присутствует большое количество кавычек. Перед каждой необходимо ставить обратный слеш (\) для того, чтобы интерпретатор понимал, что это символ в тексте.
Для примера взял кусок placeholder-текста и повставлял произвольно экранируемые кавычки.
Lorem \"ipsum\" dolor sit amet, consectetur adipisicing \"elit\", sed do eiusmod tempor \"incididunt\" ut labore et dolore magna \"aliqua\".
Муторно. Поэтому для квотинга кавычек и апострофов предусмотрены строковые операторы q и qq:
$text = qq/Lorem ipsum dolor sit amet, consectetur adipisicing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua./;
Экранирование апострофов:
$text = q/Lorem ipsum dolor sit amet, consectetur adipisicing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua./;
С установкой perl-модулей отлично справляется утилита cpanm. А как насчет удаления? С эти вопросом поможет App::pmuninstall. Ставим.
cpanm App::pmuninstall
Пример:
pm-uninstall Perl::Module
Чтобы посмотреть список установленных модулей CPAN, необходимо запустить perl-скрипт:
#!/usr/local/bin/perl
use ExtUtils::Installed;
my $instmod = ExtUtils::Installed->new();
foreach my $module ($instmod->modules()) {
my $version = $instmod->version($module) || "???";
print "$module -- $version\n";
}
Серия постов "Стандарты кодирования Perl". Часть 3: Регулярные выражения
В этой статье я опишу пошаговую инструкцию как запустить Mojolicious-приложение + DBIx::Class на виртуальном хостинге, не имея root-прав. Нам придется скачивать нужные библиотеки со cpan и явно указывать к ним путь.
Важно: на хостинге должен быть Perl 5.10 или выше.
Хочу сразу упомянуть - на момент написания статьи я использовал Mojolicious-4.71. По ходу дела я размещу ссылки на скачивание архивов зависимостей. Прогресс не стоит на месте и разработчики фреймворка, как и разработчики ORM DBIx::Class продолжают сопровождать свои детища, поэтому в дальнейшем вполне могут появиться новые зависимости, но с ними Вам уже будет разобраться проще. =)
Серия постов "Стандарты кодирования Perl". Часть 2: Переменные и константы.
Renotes © 2012 -
Заметки web-разработчиков ·RSS