in reply to Re^2: How a script becomes a module
in thread How a script becomes a module
I buy that.
But it's not a far stretch to use very very light-weight classes and use a simple hash for the properties until you need something more. This is an entire class in a small steal-entries-from-http://buzz.bazooka.se/-and-fake-email-posts-to-our-internal-bullshit-list-at-work program I wrote for the fun of it after a coffe break discussion:
package Buzz::Post::Comment; use HTML::Entities; sub new { my $pkg = shift; bless(my $self = { @_ }, $pkg); $self->{text} =~ s{<br />}{\n}gs; $self->{text} = decode_entities($self->{text}); return($self); }
It's not really a serious class in that you can't see what properties there are, there is no documentation, no visible interface to new() etc.
But the benefits I get are:
- No hassle, it's almost like just using a hash
- OO thinking, which is the way I work
- A good name. That's always worth a lot
- Somewhere to put my methods instead of in the pile of subs
Basically it's the same laid-back scripting attitude, but with a touch of structure.
/J
In Section
Meditations