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

FreeBSD Manual Pages

  
 
  

home | help
Perl::Critic::PoliPerlUseriContributed:PerluDocumentationibitJoinedReadline(3)

NAME
       Perl::Critic::Policy::InputOutput::ProhibitJoinedReadline - Use "local
       $/ = undef" or Path::Tiny instead of joined readline.

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

DESCRIPTION
       It's really easy	to slurp a whole filehandle in at once with "join q{},
       <$fh">, but that's inefficient -- Perl goes to the trouble of splitting
       the file	into lines only	to have	that work thrown away.

       To save performance, either slurp the filehandle	without	splitting like
       so:

	 do { local $/ = undef;	<$fh> }

       or use Path::Tiny, which	is even	faster.

       Note that if the	"ProhibitPunctuationVars" policy is also in effect, it
       will complain about the use of $/ in the	line above.  In	that case,
       write this instead:

	 use English '-no_match_vars';

	 do { local $INPUT_RECORD_SEPARATOR = undef; <$fh> };

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

CAVEATS
       Due to a	bug in the current version of PPI (v1.119_03) and earlier, the
       readline	operator is often misinterpreted as less-than and greater-than
       operators after a comma.	 Therefore, this policy	only works well	on the
       empty filehandle, "<>".	When PPI is fixed, this	should just start
       working.

CREDITS
       Initial development of this policy was supported	by a grant from	the
       Perl Foundation.

AUTHOR
       Chris Dolan <cdolan@cpan.org>

COPYRIGHT
       Copyright (c) 2007-2011 Chris Dolan.  Many 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::ProhibitJoinedReadline(3)

NAME | AFFILIATION | DESCRIPTION | CONFIGURATION | CAVEATS | CREDITS | AUTHOR | COPYRIGHT

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

home | help