Rechercher une page de manuel
Perl::Critic::Policy::Variables::RequireLexicalLoopIterators.3pm
Langue: en
Version: 2008-03-08 (mandriva - 01/05/08)
Section: 3 (Bibliothèques de fonctions)
Sommaire
NAME
Perl::Critic::Policy::Variables::RequireLexicalLoopIteratorsDESCRIPTION
"for"/"foreach" loops always create new lexical variables for named iterators. In other wordsfor $zed (...) { ... }
is equivalent to
for my $zed (...) { ... }
This may not seem like a big deal until you see code like
my $bicycle; for $bicycle (@things_attached_to_the_bike_rack) { if ( $bicycle->is_red() and $bicycle->has_baseball_card_in_spokes() and $bicycle->has_bent_kickstand() ) { $bicycle->remove_lock(); last; } } if ( $bicycle and $bicycle->is_unlocked() ) { ride_home($bicycle); }
which is not going to allow you to arrive in time for dinner with your family because the $bicycle outside the loop is different from the $bicycle inside the loop. You may have freed your bicycle, but you can't remember which one it was.
AUTHOR
Jeffrey Ryan Thalhammer <thaljef@cpan.org>COPYRIGHT
Copyright (c) 2005-2008 Jeffrey Ryan Thalhammer. All rights reserved.This program is free software; you can redistribute it and/or modify it under the same terms as Perl itself. The full text of this license can be found in the LICENSE file included with this module.
Contenus ©2006-2024 Benjamin Poulain
Design ©2006-2024 Maxime Vantorre