Beefy Boxes and Bandwidth Generously Provided by pair Networks
Don't ask to ask, just ask
 
PerlMonks  

Re: File Reading

by dwm042 (Priest)
on Oct 01, 2007 at 14:57 UTC ( [id://641909]=note: print w/replies, xml ) Need Help??


in reply to File Reading

This is a coded solution to the issue, a mostly plain one.

#!/usr/bin/perl use warnings; use strict; my $tag = shift; die ("You need to enter a tag.\n") unless ( $tag =~ /\w+/ ); my $count = 0; my @headers = (); my %hash = (); while(my $d = <DATA>) { $count++; chomp ($d); if ( $count < 2 ) { @headers = split/:/, $d; } else { my @temp = split/:/, $d; push @{$hash{$headers[$_]}}, $temp[$_] for ( 0 .. $#headers ); + } } if ( defined($hash{$tag}) ) { print "$tag = ",join( ',', @{$hash{$tag}} ), "\n"; } else { print "Tag $tag not found.\n"; } __DATA__ AGE:EYES:HAIR 32:BLUE:BLONDE 54:BROWN:BROWN
And the results are:

C:\Code>perl show_tags.pl foo Tag foo not found. C:\Code>perl show_tags.pl AGE AGE = 32,54 C:\Code>perl show_tags.pl EYES EYES = BLUE,BROWN

Log In?
Username:
Password:

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

How do I use this?Last hourOther CB clients
Other Users?
Others romping around the Monastery: (5)
As of 2024-04-24 19:52 GMT
Sections?
Information?
Find Nodes?
Leftovers?
    Voting Booth?

    No recent polls found