Рыжий

$ball = 2

Инспектируя код, нашёл:
if ($ball == 2)
{
	$ball_named_utf = 'неудовлетв.';
}
elsif ($ball == 3)
{
	$ball_named_utf = 'удовлетв.';
}
elsif ($ball == 4)
{
	$ball_named_utf = 'хорошо';
}
elsif ($ball == 5)
{
	$ball_named_utf = 'отлично';
}
Кто мешал написать что-то вроде qw( ? ? neud ud hor otl )[$ball] — непонятно.
  • Current Mood
    frustrated ну мальчик, ну #$ $%^* @#$%!
  • Tags
Рыжий

Из смежных дисциплин

На Template::Toolkit нашёл как-то:

[% FILTER replace('\n', '<br>') %][% FILTER replace('<', '\&lt;') %][% FILTER replace('>', '\&gt;') %][% notice.body %][% END %][% END %][% END %]

хотя хватило бы

[% notice.body | html | html_line_break %]
  • Current Music
    Максим Леонидов - Дождь
  • Tags
Рыжий

no spam;

Бодрый вечер!

Анатолий sharifulin дал мне плюсомёт порулить. Спамеры забанены, сообщество почищено.

Если снова попытаются набежать — можно жаловаться мне.
evil
  • mcfist

загадка

Я вот давеча написаль модуль который реализует одну смешную штуку. Просто так мне про штуку рассказывать жалко, поэтому я спрошу загадочно - какой тип операции скрывается за функцией secret, который работает вот таким образом?
if ( secret( 1, 0)) {
   print "failure\n";
   die;
} else {
   print "success\n";
}

и печатает

failure
success

Ответ под катом
Collapse )

Как перлу < 5.10 не хватает switch

if ((8 - $ppp->{'level'}) == 1) {
my $price = 900;
} else ((8 - $ppp->{'level'}) == 2) {
my $price = 750;
} else ((8 - $ppp->{'level'}) == 3) {
my $price = 650;
} else ((8 - $ppp->{'level'}) == 4) {
my $price = 500;
} else ((8 - $ppp->{'level'}) == 5) {
my $price = 250;
} else ((8 - $ppp->{'level'}) == 6) {
my $price = 200;
} else ((8 - $ppp->{'level'}) == 7) {
my $price = 100;
}

$ и @ - аа, пофиг :)

Вот такой Perl-код я сегодня обнаружил:

sub stat {
my @p = @_;

if (@p[0]->{$p[1]}->{@p[2]}->{@p[3]}) {
++@p[0]->{$p[1]}->{@p[2]}->{@p[3]};
} else {
@p[0]->{$p[1]}->{@p[2]}->{@p[3]} = 1;
}
}
Знающие люди говорят, что это - шедевр )))
evil
  • mcfist

next_power_of_two


sub next_power_of_two {
    my %s;
    @s{1..shift} = ();
    local $_ = %s;
    return m{/(.*)};
}
сегодня пролетело по fun with perl - считает следюущую за числом степень двойки ;)
  • _ltt_

(no subject)

Сегодня был откопан замечательный кусочек кода:
my $res = '';
vec($res, $arg, 1) = 1;
$res = unpack('c', $res);

который всего-то навсего эквивалентен
my $res = 2 ** $arg;

Вот так вот ;)