воскресенье, 11 июля 2010 г.

Effective Perl Programming

Все же subj задрал своими маловразумительными примерами и даже прямыми очепятками.
Вот например - item 36 (p127):
$big_str =~ /\Q$little_str/g;  # or /og, maybe
my $pos = pos($big_str) - length($big_str);
явная бага, нужно вычитать длину  $little_str
Или скажем примерчик из item 35 (p121):
# a double-quoted string
$_ = 'a "double-quoted \"string\042"';
my ($str) = /("(\\["\\]|\\\d{1,3}|.)*?")/;
print $str;  # "double-quoted \"string\042"
И чего тут поменяется если убрать question mark ? Ровно такой же результат выдается. Для того чтобы результаты были разные нужно добавить в $_ еще что-нть с дополнительными кавычками, вроде
$_ = "'a "double-quoted \"string\042" some shit"';
тогда применение greedy matching против non-greedy выдаст реально разные результаты
Или вот еще примерчик с typeglobs aliasing из item 118 (p423) на самом деле напечатает
yello ren
hello stimpy
hello stimpy
а не то что сказано в комментариях

Интересно у авторов subj есть страничка куда можно слать bug reports ?

Комментариев нет:

Отправить комментарий