Что это дает?
Пример 1.
Можно сделать замену в скопированной переменной(сохранив при этом оригинальную)
(my $new_var = $original_var) =~ s/pattern/replacement/;
Пример 2.
Запись вида :
$a += 2;
$a *= 3;
можно заменить на :
($a += 2) *= 3;
Пример 3.
Запись вида :
if ($x) {
$a->{key} = 1;
}else{
$b->{key} = 1;
}
Можно заменить на : ($x ? $a : $b)->{key} = 1
ЗЫ: с это особенностью нужно быть осторожным.
Например, код: 0 ? $a = 1 : $a = 2; print $a; # выведет 2(вроде правильно)
1 ? $a = 1 : $a = 2; print $a; # выведет тоже 2. Хотя это не самый лучший пример, в данном случае можно (и нужно) было бы записать $a = 1? 1: 2;
среда, 15 июля 2009 г.
Подписаться на:
Комментарии к сообщению (Atom)
0 коммент.:
Отправить комментарий
Не забудьте добавить себя в постоянные читатели и включить уведомления о новых комментариях, либо воспользуйтесь RSS каналом ;)