in reply to trouble with evaluate
On the face of it what you want to do is trivial. Consider the following:
use strict; use warnings; package Parser; sub new { my ($class, %params) = @_; return bless \%params, $class; } sub parse { my ($self, $inFile) = @_; while (<$inFile>) { chomp; my ($var, $value) = split; $self->{$var} = $value; } } sub getVar { my ($self, $varName) = @_; return $self->haveVar ($varName) ? $self->{$varName} : undef; } sub haveVar { my ($self, $varName) = @_; return exists $self->{$varName}; } package main; my $parser = Parser->new (); $parser->parse (*DATA); print "var1 = ", $parser->getVar ('var1') if $parser->haveVar ('var1') +; __DATA__ var1 wibble var2 plonk var4 dibbly
Prints:
var1 = wibble
|
|---|
| Replies are listed 'Best First'. | |
|---|---|
|
Re^2: trouble with evaluate
by genghis (Novice) on Apr 09, 2011 at 03:15 UTC | |
by GrandFather (Saint) on Apr 09, 2011 at 03:32 UTC | |
by AnomalousMonk (Archbishop) on Apr 09, 2011 at 10:04 UTC |