Skip site navigation (1)Skip section navigation (2)

FreeBSD Manual Pages

  
 
  

home | help
Perl::Critic::PPerl::CUsercContributednPerluDocumentationtReadlineInForLoop(3)

NAME
       Perl::Critic::Policy::InputOutput::ProhibitReadlineInForLoop - Write
       "while( $line = <> ){...}" instead of "for(<>){...}".

AFFILIATION
       This Policy is part of the core Perl::Critic distribution.

DESCRIPTION
       Using the readline operator in a	"for" or "foreach" loop	is very	slow.
       The iteration list of the loop creates a	list context, which causes the
       readline	operator to read the entire input stream before	iteration even
       starts.	Instead, just use a "while" loop, which	only reads one line at
       a time.

	 for my	$line (	<$file_handle> ){ do_something($line) }	     #not ok
	 while ( my $line = <$file_handle> ){ do_something($line) }  #ok

CONFIGURATION
       This Policy is not configurable except for the standard options.

AUTHOR
       Jeffrey Ryan Thalhammer <jeff@imaginative-software.com>

COPYRIGHT
       Copyright (c) 2005-2011 Imaginative Software Systems.  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.

perl v5.24.1   Perl::Critic::Policy::InputOutput::ProhibitReadlineInForLoop(3)

NAME | AFFILIATION | DESCRIPTION | CONFIGURATION | AUTHOR | COPYRIGHT

Want to link to this manual page? Use this URL:
<https://www.freebsd.org/cgi/man.cgi?query=Perl::Critic::Policy::InputOutput::ProhibitReadlineInForLoop&sektion=3&manpath=FreeBSD+12.1-RELEASE+and+Ports>

home | help