Стандарты кодирования Perl: Лаконичность кода

Серия постов "Стандарты кодирования Perl". Часть 5: Лаконичность кода.

Facebook::Graph. Добавление поста, фотографии

Пройдя регистрацию API-пролежения, собственно, необходимо попробовать его возможности на небольшом примере. Естественно, на Perl.

Perl Facebook::Graph

Стандарты кодирования Perl: Безопасность и надёжность кода

Серия постов "Стандарты кодирования Perl". Часть 4: Безопасность и надёжность кода.

Удаление perl-модуля

Ранее размещал пост о том, как просмотреть список установленных 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

Perl: операторы q и qq

Имея большой объем текста, в нем, наверняка, присутствует большое количество кавычек. Перед каждой необходимо ставить обратный слеш (\) для того, чтобы интерпретатор понимал, что это символ в тексте.

Для примера взял кусок 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 модуля

С установкой perl-модулей отлично справляется утилита cpanm. А как насчет удаления? С эти вопросом поможет App::pmuninstall. Ставим.

cpanm App::pmuninstall

Пример:

pm-uninstall Perl::Module

Список установленных модулей CPAN

Чтобы посмотреть список установленных модулей 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: регулярные выражения

Серия постов "Стандарты кодирования Perl". Часть 3: Регулярные выражения

Mojolicious на хостинге

В этой статье я опишу пошаговую инструкцию как запустить Mojolicious-приложение + DBIx::Class на виртуальном хостинге, не имея root-прав. Нам придется скачивать нужные библиотеки со cpan и явно указывать к ним путь.

Важно: на хостинге должен быть Perl 5.10 или выше.

Хочу сразу упомянуть - на момент написания статьи я использовал Mojolicious-4.71. По ходу дела я размещу ссылки на скачивание архивов зависимостей. Прогресс не стоит на месте и разработчики фреймворка, как и разработчики ORM DBIx::Class продолжают сопровождать свои детища, поэтому в дальнейшем вполне могут появиться новые зависимости, но с ними Вам уже будет разобраться проще. =)

mojolicious

Стандарты кодирования Perl: переменные и константы

Серия постов "Стандарты кодирования Perl". Часть 2: Переменные и константы.