note
citromatik
<p>If I understood correctly, you want to provide 2 names (for example, "Julia_Roberts" and "Cintheia"), look if both exist in the array and append the "(1,5)" thing to the second. If this is what you want, an array doesn't seem the best way to manage your data, and maybe a hash could be a better solution:</p>
<code>
use strict;
use warnings;
use Tie::RegexpHash;
tie my %names, 'Tie::RegexpHash' or die $!;
%names = (
qr/Julia_Roberts/ => ["Julia_Roberts","(1,5)"],
qr/Cintheia/ => ["Cintheia"],
qr/Chelsia/ => ["Chelsia"]
);
while (<DATA>){
chomp;
my @pair = split;
$names{$pair[1]}->[1]= $names{$pair[0]}->[1];
print join ("",@{$names{$_}}),"\n" for (keys %names);
print "\n";
}
__DATA__
Julia_Roberts Cintheia
Julia_Roberts(1,5) Cintheia
Julia_Roberts Chelsia
</code>
This Outputs:
<code>
Julia_Roberts(1,5)
Cintheia(1,5)
Chelsia
Julia_Roberts(1,5)
Cintheia(1,5)
Chelsia
Julia_Roberts(1,5)
Cintheia(1,5)
Chelsia(1,5)
</code>
<p>If it is not what you are trying to do, please be more specific</p>
<p>Hope this helps!</p>
<p> citromatik</p>
620456
620456