FAQ

On Wed, Dec 1, 2010 at 10:24 AM, Dennis Jakobi wrote:

Hi there,

I have the following problem:

I want to read a logfile in which every line follows this rule:
<value1>:<value2>:<value3>...

But the number of values differs. Sometimes a line has 2 values (the
minimum) and sometimes 3 or more values. Now I want to push these
values into a hash that follows that form:
$hash->{value1}->{value2}...

This is what I have so far:

sub readLog {
my $self = shift;
my $logfile = getFilename();

open LOG, "<$logfile";

foreach my $line (<LOG>) {
my @values = split /\:/, $line;
... # at this point I don't know what to do :(
}
}

Greetings
Dennis

--
To unsubscribe, e-mail: beginners-unsubscribe@perl.org
For additional commands, e-mail: beginners-help@perl.org
http://learn.perl.org/

Hi Dennis

I know a weird question that you likely already thought about but still why
are you not using a combination of array and hash?

$hash->{value1} = [ value2, value3, value4, ... ]

It would save you a lot of headaches in looping over all values that are on
that one line because how are you going to easily handle a situation where
you have a hash of hashes with an undefined depth without having to jump to
a lot of difficult hoops to make it work properly?

Regards,

Rob

Search Discussions

Discussion Posts

Previous

Follow ups

Related Discussions

Discussion Navigation
viewthread | post
posts ‹ prev | 3 of 4 | next ›
Discussion Overview
groupbeginners @
categoriesperl
postedDec 1, '10 at 9:24a
activeDec 1, '10 at 10:56a
posts4
users3
websiteperl.org

People

Translate

site design / logo © 2022 Grokbase