Perl Basics
Introduction to Perl
FAQ's
CGI
Regular Expressions

PC Overview
Cool Stuff
My Modules
Success Stories
Links
Perl in the News
Logos
Perl @ msn
Perl Chat

PC Internals
About
Contact
Guest Book
Handy Logos
What's new

Loop Processing

See also
P-friendly

[ home ] - [ search ] - [ sitemap ]

# unsorted:
my @report_lines = qw(
        aaa|achterbahn
        bbb|betraham
        ccc|cebra
        aaa|anabolika
        bbb|butter
        ccc|caesium
        aaa|ameise
);

@report_lines = sort @report_lines;

my $email = my $email_before = (split /\|/, $report_lines[0])[0];
my $url = "";
my @changed_urls = ();

my $i = 0;
foreach (@report_lines) {
        ($email, $url) = split /\|/;

        if ($email ne $email_before) {
                print "\nSEND TO $email_before\n";
                foreach (@changed_urls) {
                        print "- $_\n";
                }
                @changed_urls = (); # reset
        }
        $email_before = $email;
        push @changed_urls, $url;
}

# Nachlauf
print "\nSEND TO $email_before:\n";
foreach (@changed_urls) {
        print "- $_\n";
}

Output:

SEND TO aaa
- achterbahn
- ameise
- anabolika

SEND TO bbb
- betraham
- butter

SEND TO ccc:
- caesium
- cebra
home - feedback - search - web jobs
© 1998-2004 retoh :)