Beefy Boxes and Bandwidth Generously Provided by pair Networks
Perl: the Markov chain saw
 
PerlMonks  

Re: How to Change Data Layout from Horizon to Vertical

by rodion (Chaplain)
on Jan 17, 2007 at 00:30 UTC ( #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? | Other CB clients
Other Users?
Others contemplating the Monastery: (3)
As of 2021-09-28 14:51 GMT
Sections?
Information?
Find Nodes?
Leftovers?
    Voting Booth?

    No recent polls found

    Notices?