in reply to Re^2: sorting an array
in thread sorting an array

even using sort directly works too (i tried it)

How?

use strict; use warnings; my @array=("ch1","ch11","ch2","ch5","ch55","ch16"); print join(' ', sort @array), "\n"; __END__ ch1 ch11 ch16 ch2 ch5 ch55

That's not the same order as Selvakumar wants.

Replies are listed 'Best First'.
Re^4: sorting an array
by hnd (Scribe) on Jul 10, 2009 at 11:15 UTC
    thnx moritz....
    actually i didnt check my output properly before posting the code
    thnx for pointing that out.....
    but why does not sort sorts properly?
    i mean that when i first tested it on
    @dudes=(fred,barney,drona,mihir,ankit); @dudes=sort @dudes; print "@dudes\n";
    it worked (that was a ages ago)
    =====================================================
    i'am worst at what do best and for this gift i fell blessed...
    i found it hard it's hard to find well whatever
    NEVERMIND
      Because it sorts by string comparison. If you have a string $a, and another string which is $b = $a . $any_other_string, than the shorter string $a will always sort lexicographic before the longer string.

      If you look into a phone book, you expect Strauss to come before Strausse, so that's what you usually want.

      The only case where this doesn't do what you mean is to when you compare numbers of different length. That's what Perl offers the <=> operator for.

        thnx again...... i will never forget this again....
        =====================================================
        i'am worst at what do best and for this gift i fell blessed...
        i found it hard it's hard to find well whatever
        NEVERMIND