If the number of entries for each domain is the same then the code below will interleave them for you
use warnings; use strict; my %domains; while (my $line = <DATA>) { chomp $line; my ($name, $domain) = split /@/, $line; $domains{$domain} = [] if ! defined $domains{$domain}; push @{$domains{$domain}}, $line; } while (%domains) { for my $domain (keys %domains) { print ((shift @{$domains{$domain}}) . "\n"); delete $domains{$domain} if ! @{$domains{$domain}}; } } __DATA__ ads@domain.com ads@domain.com ads@domain1.com ads@domain1.com ads@domain2.com ads@domain2.com
Prints:
ads@domain.com ads@domain1.com ads@domain2.com ads@domain.com ads@domain1.com ads@domain2.com
In reply to Re: Need to create a blender to mix up lines from a file
by GrandFather
in thread Need to create a blender to mix up lines from a file
by Bugorr
| For: | Use: | ||
| & | & | ||
| < | < | ||
| > | > | ||
| [ | [ | ||
| ] | ] |