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

FreeBSD Manual Pages

  
 
  

home | help
Perl::Critic::Policy::User:ContributedlPerl:Documentatio:ProhibitReturnSort(3)

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

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

DESCRIPTION
       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!

	      my @sorted_list =	sort @list;
	      return @sorted_list # OK
	  }

KNOWN BUGS
       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;
	      }
	      else{
		  return join @list;
	      }
	  }

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

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

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

COPYRIGHT
       Copyright (c) 2005-2017 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::Subroutines::ProhibitReturnSort(3)

NAME | AFFILIATION | DESCRIPTION | KNOWN BUGS | CONFIGURATION | CREDITS | AUTHOR | COPYRIGHT

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

home | help