http://www.perlmonks.org?node_id=1064606


in reply to why does sort with uniq not work together

Hi david2008,
If you use warnings; you would have seen this message: Sort subroutine didn't return single value at line ...
so using this

print "sorted unique results\n"; print Dumper( [ sort( uniq( @x, @y ) ) ] );
would resolve the issue. Try it

If you tell me, I'll forget.
If you show me, I'll remember.
if you involve me, I'll understand.
--- Author unknown to me

Replies are listed 'Best First'.
Re^2: why does sort with uniq not work together
by hdb (Monsignor) on Nov 27, 2013 at 13:09 UTC

    Yes, but why?

      Hi hdb,
      Yes, but why?
      Checking sort documentation you will find this:

      Warning: syntactical care is required when sorting the list returned from a function. If you want to sort the list returned by the function call "find_records(@key)", you can use:
      @contact = sort { $a cmp $b } find_records @key; @contact = sort +find_records(@key); @contact = sort &find_records(@key); @contact = sort(find_records(@key));
      Among other things..
      That shows it can as well use: print Dumper( [ sort &uniq( @x, @y )  ] ); showing the list to be sorted is returned from a function.

      If you tell me, I'll forget.
      If you show me, I'll remember.
      if you involve me, I'll understand.
      --- Author unknown to me

        Thanks a lot!