Changeset 837 for trunk


Ignore:
Timestamp:
1999-12-13T16:55:43+13:00 (24 years ago)
Author:
davidb
Message:

added alpha_numeric search

File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/gsdl/perllib/classify/AZList.pm

    r779 r837  
    8989}
    9090
     91sub alpha_numeric_cmp
     92{
     93    my ($self,$a,$b) = @_;
     94
     95    my $title_a = $self->{'list'}->{$a};
     96    my $title_b = $self->{'list'}->{$b};
     97
     98    if ($title_a =~ m/^(\d+(\.\d+)?)/)
     99    {
     100    my $val_a = $1;
     101    if ($title_b =~ m/^(\d+(\.\d+)?)/)
     102    {
     103        my $val_b = $1;
     104        if ($val_a != $val_b)
     105        {
     106        return ($val_a <=> $val_b);
     107        }
     108    }
     109    }
     110   
     111    return ($title_a cmp $title_b);
     112}
     113
    91114sub get_classify_info {
    92115    my $self = shift (@_);
    93116
    94     my @classlist = sort {$self->{'list'}->{$a} cmp $self->{'list'}->{$b};} keys %{$self->{'list'}};
     117    my @classlist
     118    = sort { $self->alpha_numeric_cmp($a,$b) } keys %{$self->{'list'}};
    95119
    96120    return $self->splitlist (\@classlist);
     
    134158    foreach $classification (@$classlistref) {
    135159    my $title = $self->{'list'}->{$classification};
     160
    136161    $title =~ s/^(&.{1,6};|<[^>]>|[^a-zA-Z0-9])//g; # remove any unwanted stuff
    137162    $title =~ s/^(.).*$/$1/;
Note: See TracChangeset for help on using the changeset viewer.