sub sumTo { my $target = shift; ... } #### sub sumTo { my $target = shift; my @list = @_; if( $list[ 0 ] ) == $target ) return 1; } return 0; } #### sub sumTo { my $target = shift; for( @_ ) { if( $_ ) == $target ) return 1; } } return 0; } #### sub sumTo { my $target = shift; for( 0 .. $#_ ) { if( $_[ $_ ] == $target ) return 1; } else { if( sumTo( $target - $_[$_], @_[0 .. $_-1, $_+1 .. $#_] ) ) { return 1; } } } return 0; } #### @_[0 .. $_-1, $_+1 .. $#_]