Posterous theme by Cory Watilo

Filed under: common::sense

Perl. use strict; use warnings; use features; use Modern::Perl; use common::sense;

Почти каждый Perl-программист знает, что всегда нужно писать:
use strict;
use warnings;
С выходом perl 5.10 еще и:
use features '...';

Некоторые решили, что приходится писать слишком много "буковок". Так появился модуль Modern::Perl и новая веха в развитии Perl 5, получившая одноименное название. Модуль подключает и импортирует в пространство имен прагмы strict, warnings, features и mro. Теперь скрипты должны начинаться со следующей строчки:
use Modern::Perl;
Оказывается, можно пойти дальше и написать так:
use common::sense;

Что это такое? Это почти тоже самое, что и Modern::Perl, только круче :)
use strict qw(vars subs);
use feature qw(say state switch);
no warnings;
Содержимое модуля:
sub import {
   # no warnings   ${^WARNING_BITS} ^= ${^WARNING_BITS};

   # use strict vars subs   $^H |= 0x00000600;

   # use feature   $^H{feature_switch} =
   $^H{feature_say}    =
   $^H{feature_state}  = 1;
}
Преимущество – использует меньше памяти, чем другие решения.

Обоснование и подробности на CPAN'е.


ЗЫ: Вопреки всем убеждениям в своем коде не использую use warnings или -w, я научился чувствовать и понимать, почему я могу этим пренебречь в той или иной ситуации (за что большое спасибо [info]pavel_kudinov ). Так что common::sense мне вполне подходит :)

ЗЫ2: Автор common::sense – Марк Лехманн (AnyEvent, Coro, EV, BDB).


use Perl or die;

JFDI


Original post http://sharifulin.livejournal.com/49970.html