Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #!/usr/bin/perl -w
- # Find duplicates.
- # Input is a list of numbers separated by space, from STDIN, example: 5 23 7 3 5 89 12 -34 7 355 0 0 12 5
- # Output is a list of numbers separated by space, on STDOUT, example: 5 7 12 0
- use strict;
- use warnings;
- my $input = <STDIN>;
- chomp($input);
- my $list = [ split /\ /, $input ];
- my $dups = dups($list);
- print join(" ", @{$dups})."\n";
- sub dups {
- my $list = shift;
- my $visited = {};
- my $dups = {};
- my $result = [];
- foreach my $item (@{$list}) {
- if(defined $visited->{$item}) { # dup
- if(!defined $dups->{$item}) { # avoid storing dups twice
- $dups->{$item} = 1;
- push @{$result}, $item;
- }
- }
- $visited->{$item} = 1;
- }
- return $result;
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement