Beefy Boxes and Bandwidth Generously Provided by pair Networks
Syntactic Confectionery Delight
 
PerlMonks  

Re: Trudging along the learning perl path.

by karlgoethebier (Monsignor)
on Apr 17, 2017 at 13:13 UTC ( #1188133=note: print w/replies, xml ) Need Help??


in reply to Trudging along the learning perl path.

My 2˘ for fun and learning purposes or TMTOWTDI

#!/usr/bin/env perl use strict; use warnings; use Data::Dump; use feature qw(say); my @array = ( 29, 24, 0, 24, 24, 12, 0, 0, 10, 10, 10, 19, 17, 15, 13, 1, 12, 12, +24 ); dd uniq( \@array ); sub uniq { my $array = shift; my $last = @$array[0]; my @uniq; for my $item ( sort { $a <=> $b } @$array ) { if ( $item != $last ) { $last = $item; push @uniq, $item; } } return \@uniq; } __END__ [0, 1, 10, 12, 13, 15, 17, 19, 24, 29]

I cheated a bit until i got it ;-)

And to be honest: in real life i would prefer uniq from List::MoreUtils:

sub uniq (@) { my %seen = (); my $k; my $seen_undef; grep { defined $_ ? not $seen{ $k = $_ }++ : not $seen_undef++ } @ +_; }

Regards, Karl

«The Crux of the Biscuit is the Apostrophe»

Furthermore I consider that Donald Trump must be impeached as soon as possible

Log In?
Username:
Password:

What's my password?
Create A New User
Node Status?
node history
Node Type: note [id://1188133]
help
Chatterbox?
and the web crawler heard nothing...

How do I use this? | Other CB clients
Other Users?
Others about the Monastery: (6)
As of 2019-07-19 10:38 GMT
Sections?
Information?
Find Nodes?
Leftovers?
    Voting Booth?

    No recent polls found

    Notices?