On May 19, Ramprasad A Padmanabhan said:

>#!/usr/bin/perl
>
>my @arr = qw(a b c d a b e f );
>print join(" " , sort @arr) . "\n" . '#' x 50 . "\n";
>print join(" " , sort (uniq (@arr))) . "\n";
>exit 0;
>sub uniq{keys%{{map{$_,[EMAIL PROTECTED]

Perl is not sorting the return values of the uniq() function, Perl is
using 'uniq' as the comparison function to sort().  This is *ALL* because
you have a space after the function name.  If you did

  sort(uniq(@arr))

or

  sort +uniq(@arr)

you'd print the sorted unique values.

-- 
Jeff "japhy" Pinyan      [EMAIL PROTECTED]      http://www.pobox.com/~japhy/
RPI Acacia brother #734   http://www.perlmonks.org/   http://www.cpan.org/
CPAN ID: PINYAN    [Need a programmer?  If you like my work, let me know.]
<stu> what does y/// stand for?  <tenderpuss> why, yansliterate of course.


-- 
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]
<http://learn.perl.org/> <http://learn.perl.org/first-response>


Reply via email to