in reply to Perl output and uniq

Presuming your input data's of a reasonable size you probably could skip the postprocessing and instead sort and uniq'ify your data yourself.

#!/usr/bin/perl use strict; use warnings; use Regexp::Common qw(net); use String::Util qw(trim); my %seen_addrs; while (<>) { /$RE{net}{IPv4}{-keep}/ and $seen_a +ddrs{ trim($1) }++; /$RE{net}{IPv6}{-sep => ':'}{-style => 'HeX'}{-keep}/ and $seen_a +ddrs{ trim($1) }++; /$RE{net}{MAC}{-keep}/ and $seen_a +ddrs{ trim($1) }++; } for my $addr ( sort keys %seen_addrs ) { print $addr, qq{\n}; }

The cake is a lie.
The cake is a lie.
The cake is a lie.

Replies are listed 'Best First'.
Re^2: Perl output and uniq
by sampson (Initiate) on May 02, 2020 at 12:06 UTC
    Thanks for your codes! I know all kinds of string processing can be done in Perl. Just that after putting it down (from entry level) for over 30 years, I need to relearn all the constructs and syntax for common operations. (File open, while loop, print with format, special variables, not counting omitted variables). And of course, all kinds of REs. Hopefully, I can got more done in Perl overtime.