суббота, 27 марта 2010 г.

use constant как public final static

Как вам нравится такой способ использования use constant?

package Pet;
sub new {
my $class = shift;
bless { @_ } => $class;
}
sub report {
my ($self) = @_;
printf "%s is %s.\n", $self->{name}, $self->BinomialName;
}

package Dog;
use base 'Pet';
use constant BinomialName => 'Canis familiaris';

package Cat;
use base 'Pet';
use constant BinomialName => 'Felis catus';

package main;
Dog->new(name => 'Pluto')->report;
Cat->new(name => 'Tom')->report;

Кто-нибудь встречал этот прием в литературе? Я, конечно, подозреваю, что Америку не открыл, но интересно мнение коллег ;-)

воскресенье, 21 марта 2010 г.

Moose sucks!

Зачем учить новый синтаксис? Что есть такого замечательного в Moose, чего нельзя сделать на чистом Perl (ну плюс еще пара-тройка легковесных модулей CPAN), что следует добавлять какую-то дополнительную тормозную прослойку во все свои модули?

По моему, это какая-то очередная нелепая попытка сделать из Perl неизвестно что.

Классная картинка взята отсюда.

пятница, 12 марта 2010 г.

Perl in Springfield

New New York

Интересно, кто в Спрингфилде программирует на Perl? Барт? Лиза? Или, может быть, Мо? Ждем появления NewNewYork.pm.