Array is not going to help you much. The right data structure here is hash:
#!/usr/bin/perl
use warnings;
use strict;
my %players;
while (<DATA>) {
my ($team, $left, $right) = m{(.+)=(.+?) */ *(.+)};
my @lefts = split / *, */, $left;
my @rights = split / *, */, $right;
$players{$_}{left} = $team for @lefts;
$players{$_}{right} = $team for @rights;
}
for my $player (keys %players) {
if (2 == grep exists $players{$player}{$_}, qw/left right/) {
print "$player IS IN $players{$player}{right} AND",
" $players{$player}{left}\n";
}
}
__DATA__
Team1=Joe / Phil , Amenda
Team2=James / Pam, Joe
Team3=Carmen , Lisa / James
Team4=Don , Phil / Carmen
Team5=Uri , Kate / Don
As you can see, it assigns each player his/her left and right team, and only lists the players with both teams assigned. It does not check, though, whether a player is not assigned more than one team on the same side.
Posts are HTML formatted. Put <p> </p> tags around your paragraphs. Put <code> </code> tags around your code and data!
Titles consisting of a single word are discouraged, and in most cases are disallowed outright.
Read Where should I post X? if you're not absolutely sure you're posting in the right place.
Please read these before you post! —
Posts may use any of the Perl Monks Approved HTML tags:
- a, abbr, b, big, blockquote, br, caption, center, col, colgroup, dd, del, details, div, dl, dt, em, font, h1, h2, h3, h4, h5, h6, hr, i, ins, li, ol, p, pre, readmore, small, span, spoiler, strike, strong, sub, summary, sup, table, tbody, td, tfoot, th, thead, tr, tt, u, ul, wbr
You may need to use entities for some characters, as follows. (Exception: Within code tags, you can put the characters literally.)
| |
For: |
|
Use: |
| & | | & |
| < | | < |
| > | | > |
| [ | | [ |
| ] | | ] |
Link using PerlMonks shortcuts! What shortcuts can I use for linking?
See Writeup Formatting Tips and other pages linked from there for more info.