Beefy Boxes and Bandwidth Generously Provided by pair Networks
laziness, impatience, and hubris
 
PerlMonks  

Re: Advice on OO Program structure & organization

by redhotpenguin (Deacon)
on Dec 12, 2004 at 19:13 UTC ( [id://414249]=note: print w/replies, xml ) Need Help??


in reply to Advice on OO Program structure & organization

I had to do something similar to this but my object data was in XML files. In that case I used XML:Simple but for this application I would use Config::Tiny as follows.

car.txt contents: [pinto] horse_power = 50 price = 10 [corvette] horse_power = 200 price = 11000 #!/usr/bin/env/perl use strict; use warnings; use Car; my $car = Car->new('corvette'); print "My ", $car->model, " has ", $car->horse_power, " horsepower!"; 1; package Car; use strict; use warnings; use Config::Tiny; my $CONFIG = './car.txt'; sub new { my ($class, $model) = @_; my $cfg = Config::Tiny->new(); $cfg = Config::Tiny->read($CONFIG); die warn "No such model $model!\n" unless exists $cfg->{$model}; return bless { model => $model, %{$cfg->{$model}} } , __PACKAGE__ +; } sub model {die warn "Can't change model!" if @_ > 1; $_[0]->{model}; } sub horse_power {$_[0]->{horse_power} = $_[1] if @_ > 1; $_[0]->{horse +_power}; } sub price {$_[0]->{price} = $_[1] if @_ > 1; $_[0]->{price}; } 1;

Log In?
Username:
Password:

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

How do I use this?Last hourOther CB clients
Other Users?
Others meditating upon the Monastery: (3)
As of 2024-04-25 09:23 GMT
Sections?
Information?
Find Nodes?
Leftovers?
    Voting Booth?

    No recent polls found