Beefy Boxes and Bandwidth Generously Provided by pair Networks
Pathologically Eclectic Rubbish Lister
 
PerlMonks  

Re: grep with multiple choice

by citromatik (Curate)
on Jun 11, 2007 at 12:19 UTC ( [id://620479]=note: print w/replies, xml ) Need Help??


in reply to grep with multiple choice

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:

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
This Outputs:
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)

If it is not what you are trying to do, please be more specific

Hope this helps!

citromatik

Log In?
Username:
Password:

What's my password?
Create A New User
Domain Nodelet?
Node Status?
node history
Node Type: note [id://620479]
help
Chatterbox?
and the web crawler heard nothing...

How do I use this?Last hourOther CB clients
Other Users?
Others chanting in the Monastery: (4)
As of 2024-04-19 14:50 GMT
Sections?
Information?
Find Nodes?
Leftovers?
    Voting Booth?

    No recent polls found