Unix/Linux Go Back    

CentOS 7.0 - man page for perl::critic::policy::subroutines::prohibitreturnsort (centos section 3)

Linux & Unix Commands - Search Man Pages
Man Page or Keyword Search:   man
Select Man Page Set:       apropos Keyword Search (sections above)


       Perl::Critic::Policy::Subroutines::ProhibitReturnSort - Behavior of "sort" is not defined
       if called in scalar context.

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

       The behavior of the builtin "sort" function is not defined if called in scalar context.
       So if you write a subroutine that directly "return"s the result of a "sort" operation,
       then you code will behave unpredictably if someone calls your subroutine in a scalar
       context.  This Policy emits a violation if the "return" keyword is directly followed by
       the "sort" function.  To safely return a sorted list of values from a subroutine, you
       should assign the sorted values to a temporary variable first.  For example:

	  sub frobulate {

	      return sort @list;  # not ok!

	      @sorted_list = sort @list;
	      return @sort	  # ok

       This Policy is not sensitive to the "wantarray" function.  So the following code would
       generate a false violation:

	  sub frobulate {

	      if (wantarray) {
		  return sort @list;
		  return join @list;

       This Policy is not configurable except for the standard options.

       This Policy was suggested by Ulrich Wisser and the <http://iis.se> team.

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

       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.16.3				 Perl::Critic::Policy::Subroutines::ProhibitReturnSort(3)
Unix & Linux Commands & Man Pages : ©2000 - 2018 Unix and Linux Forums

All times are GMT -4. The time now is 12:40 AM.