Beefy Boxes and Bandwidth Generously Provided by pair Networks
good chemistry is complicated,
and a little bit messy -LW
 
PerlMonks  

Re: How to Change Data Layout from Horizon to Vertical

by rodion (Chaplain)
on Jan 17, 2007 at 00:30 UTC ( [id://595004]=note: print w/replies, xml ) Need Help??


in reply to How to Change Data Layout from Horizon to Vertical

Is what you had in mind something like this?
use warnings; use strict; my $horiz_data = <<"HORIZ" ; |||01/01/2007|01/02/2007|01/03/2007|06/29/2007| |JOHN DOE|Event1|PARTY|CLASS|WORK|VACATION| |JOHN D0E|Event2|CLASS|CLASS|WORK|PARTY| |JANE DOE|Event1|PARTY|CLASS|WORK|VACATION| |JANE DOE|Event2|CLASS|CLASS|WORK|PARTY| HORIZ my @horiz = split "\n", $horiz_data; my @dates = split '\|', shift @horiz; shift @dates; shift @dates; shift @dates; for my $line (@horiz) { my @flds = split '\|', $line; shift @flds; my $name = shift @flds; my $event = shift @flds; my @dates_copy = @dates; for my $date (@dates_copy) { print "|$name|$date|$event|",shift(@flds),"|\n"; } } # for $line
which produces
|JOHN DOE|01/01/2007|Event1|PARTY| |JOHN DOE|01/02/2007|Event1|CLASS| |JOHN DOE|01/03/2007|Event1|WORK| |JOHN DOE|06/29/2007|Event1|VACATION| |JOHN D0E|01/01/2007|Event2|CLASS| |JOHN D0E|01/02/2007|Event2|CLASS| |JOHN D0E|01/03/2007|Event2|WORK| |JOHN D0E|06/29/2007|Event2|PARTY| |JANE DOE|01/01/2007|Event1|PARTY| |JANE DOE|01/02/2007|Event1|CLASS| |JANE DOE|01/03/2007|Event1|WORK| |JANE DOE|06/29/2007|Event1|VACATION| |JANE DOE|01/01/2007|Event2|CLASS| |JANE DOE|01/02/2007|Event2|CLASS| |JANE DOE|01/03/2007|Event2|WORK| |JANE DOE|06/29/2007|Event2|PARTY|

Log In?
Username:
Password:

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

How do I use this?Last hourOther CB clients
Other Users?
Others imbibing at the Monastery: (4)
As of 2024-03-29 07:34 GMT
Sections?
Information?
Find Nodes?
Leftovers?
    Voting Booth?

    No recent polls found