in reply to Re^2: converting rows into column
in thread converting rows into column
I downvoted your post since you obviously did not read the links biohisham gave you.
Had you done so, you would surely have formatted your second post with <p></p> and <code></code> tags:
thanx so much for ur advice... actually am a new in perl monk...
actually i want to make a database of mp3 songs. so after retrieving the tag info of each song..i got a output like :Artist: Rock Title: Fusion Album: Fusion Year: 2002 Genre: Other Artist: MelB Title: who am i: Album: donny Year: 2004 Genre: Other Artist: bon jo Title: i can stay Album : Armyman Year: 2009 Genre: Other Artist: Pearl Title: Last Album: Jam Year: 1983 Genre: Othernow i want my database to be like :
Artist Title Album Year Genre ------ ----- ----- ----- ----- Rock bbb hhh 2000 POP MelB Hum por 2003 other bon jo Armyman 209 othersetc.
#!/usr/bin/perl use warnings; use strict; my %hasharray; open (my $fh, "<", "C:/songdata1.txt") or die "can't open the file"; while (<$fh>){ my ($header,$info) = split /:/; }I dont know how to proceed futher.
plz help me out.
Now, to help you out:
- make sure your records are separated with an empty line
- read the input file in paragraph mode (switch -p00, see perlrun)
- split the resulting records at "\n"(newline) into an array
- iterate over this array, split each element into ($header,$info)
- populate a hash (see perldata) with $header as key, $info as value
- done iterating over the array, output the records (see perlform for formatted text output)
<Reveal this spoiler or all in this thread>
|
---|
In Section
Seekers of Perl Wisdom