RE: Tie::Array::SortedHi Simon and others,

I agree that Tie::Array::Sorted is a good name.

>But it is a shocking ommission if there isnt at least one other way. I
definately vote for
> Tie::Array::Sorted, but It may be worth having a look at Tie::Hash::Sorted
and make
> them compatible on some level.

And I agree that Tie::Array::Sorted should be compatible with Hash::Sorted
in some level. But I wouldn�t  like if Tie::Array  worked just like
Hash::Sorted because I don�t like it.

With Hash::Sorted we still have to know that enigmatic sorting subroutine:

 my $sort_by_numeric_value = sub {      #  this sub sucks!!
     my $hash = shift;
     [ sort {$hash->{$b} <=> $hash->{$a}} keys %$hash ];
 };

This is the difficult part that should be encapsulated, i think.

I suggest that you implement something like an ORDER attribute with the
values ASCENDING and DESCENDING, sparing us to know about that subroutine.

like this:

tie my @sorted_array, 'Tie::Array::Sorted',
     'Array'         => \ @unsorted_array,
     'ORDER' => ASCENDING;

Also, you could try to guess (via regexps) if the data to be sorted is
numeric or alphabetical and use the appropriate subrouting to order it. But
if you don�t think this is a good idea, you could add another attribute
called TYPE with the values NUMERIC and ALPHABETICAL.

see ya,
bnegrao.


Reply via email to