in reply to Re: Scoped Variables in a Recursive Function.
in thread Scoped Variables in a Recursive Function.
sub Merge(@) { my @array = @_; local $MergeSort = sub { ### Anonymous code ref. ### my $first = shift; my $last = shift; if ($last>$first) { my $mid = int(($last+$first)/2); $MergeSort->($first, $mid); $MergeSort->($mid+1, $last); my @b; @b = ( @array[$first..$mid], @array[reverse($mid+1..$last)] ); my ($i, $j, $k) = (0, $last-$first, $first); for (; $k<=$last; $k++) { $array[$k] = ($b[$i]<$b[$j]) ? $b[$i++] : $b[$j--]; } } } $MergeSort->(0, $#array); return @array; }
|
|---|
| Replies are listed 'Best First'. | |
|---|---|
|
RE: RE: Re: Scoped Variables in a Recursive Function.
by japhy (Canon) on Sep 28, 2000 at 21:12 UTC | |
by Adam (Vicar) on Sep 28, 2000 at 23:59 UTC |