sub my_func { my ( $self, $ptr_array, $value ) = @_; return look_right( $ptr_array, $value ) if ( $value == 0 ); return look_left( $ptr_array, $value ) if ( $value == @{ $ptr_array } ); return ( look_right( $ptr_array, $value ) && look_left( $ptr_array, $value ) ); } sub look_left { my ( $ptr_array, $value ) = @_; # ... } sub look_right { my ( $ptr_array, $value ) = @_; # ... }