Хабр Курсы для всех
РЕКЛАМА
Практикум, Хекслет, SkyPro, авторские курсы — собрали всех и попросили скидки. Осталось выбрать!
#define if if (
#define then ) {
#define else } else {
#define endif }
if a then
b = ...;
else
b = ...;
endif
Для программиста одиночки — это лишние заморочки!
my $dp = B::Deparse->new();
...
sub UNIVERSAL::Method : ATTR(RAWDATA) {
my ( $pkg, $sym, $ref, undef, $args ) = @_;
my $src = $dp->coderef2text($ref);
if ($args) {
$src =~ s/\{/sub{\nmy \$self = shift; my ($args) = \@_;\n/;
}
else {
$src =~ s/\{/sub{\nmy \$self = shift;\n/;
}
no warnings 'redefine';
*$sym = eval qq{ package $pkg; $src };
}
Атрибуты: введение