Классический перловый foreach цикл:
Вариант 1:
foreach my $element ( @list ) {
#some code
}
Вариант 2:
my $element;
foreach $element ( @list ) {
#some code
}
Сравнение:
Большинство, не задумываясь, используют первый вариант... и это правильно :). Но есть "программисты-оптимизаторы", которые используют второй вариант, аргументируя это тем, что он "быстрее" (забивая на то, что они засоряют пространство имен родительского блока). Не слушайте их!!! Первый вариант на 40% быстрее!!! (в атаче бенчмарк; хотя, естественно, чистое время перебора элементов может занимать меньше 1% времени обработки элементов )
Многих этот факт может удивить но все объясняется следующим образом: перл просто не использут предварительно объявленую вами переменную и объявляет свою с таким же именем.
Попробуйте сами:
my $element = "NOT_USED";
foreach $element ( 1..2 ) {
#some code
}
0 коммент.:
Отправить комментарий
Не забудьте добавить себя в постоянные читатели и включить уведомления о новых комментариях, либо воспользуйтесь RSS каналом ;)