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

Re: Splitting multiple patterns

by GrandFather (Saint)
on Apr 09, 2012 at 10:46 UTC ( [id://964105]=note: print w/replies, xml ) Need Help??


in reply to Splitting multiple patterns

Looks like your input file is a CSV (comma separated variable) file so you should use an appropriate CVS module to dot he heavy lifting for you. Text::CSV is a good starting point. Consider:

use strict; use warnings; use Text::CSV; my $filename = 'infos.txt'; open my $fOut, '>', $filename or die "Can't create $filename: $!"; print $fOut <<TEST; Mawts 25,female,melbourne Awts 24,male,sydney TEST close $fOut; my $parser = Text::CSV->new(); open my $fIn, '<', $filename or die "Can't open $filename: $!"; while (my $row = $parser->getline($fIn)) { my ($name, $age) = $row->[0] =~ /(.*)\s(\d+)/; print "Name: $name\n"; print "Age: $age\n"; print "Gender: $row->[1]\n"; print "Address: $row->[2]\n\n"; } close $fIn;

Prints:

Name: Mawts Age: 25 Gender: female Address: melbourne Name: Awts Age: 24 Gender: male Address: sydney
True laziness is hard work

Log In?
Username:
Password:

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

How do I use this?Last hourOther CB clients
Other Users?
Others goofing around in the Monastery: (2)
As of 2024-04-26 03:57 GMT
Sections?
Information?
Find Nodes?
Leftovers?
    Voting Booth?

    No recent polls found