use strict; sub functional_FY { return @_ if @_ < 2; my $i = rand @_; @_[ 0, $i ] = @_[ $i, 0 ]; return ( shift, functional_FY( @_ ) ); } print "@{ [ functional_FY( 1..10 ) ] }\n"; #### sub functional_FY { return @_ if @_ < 2; return ( splice( @_, rand @_, 1 ), &functional_FY ); } #### sub functional_FY { return @_ < 2 ? @_ : ( splice( @_, rand @_, 1 ), &functional_FY ); }
## sub functional_FY { return @_ if @_ < 2; return ( splice( @_, rand @_, 1 ), &functional_FY ); } ##
## sub functional_FY { return @_ < 2 ? @_ : ( splice( @_, rand @_, 1 ), &functional_FY ); }