in reply to Re: Seek Help Refactoring
in thread Seek Help Refactoring

Thanks, CountZero! While there was something of interest in all the comments, yours was the most immediately applicable because it clued me into what to do right at the three points the push call was made and thereby enabled me to refactor out all the repeated code. In my real code, it meant that I was able to refactor the methods so they looked like this:

sub all_segments { my $self = shift; return $self->_gapfill_engine('all'); } sub all_gapfillers { my $self = shift; return $self->_gapfill_engine('gap'); } sub _gapfill_engine { my $self = shift; my $mode = shift; ... # foreach and if loops (next stage in refactoring) # do one thing if $mode eq 'all' # do another thing if $mode eq 'gap' return \@segments; }

... which is what I was aiming for. Thanks again.

Jim Keenan