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

Re^3: How a script becomes a module

by jplindstrom (Monsignor)
on Oct 07, 2004 at 18:26 UTC ( #397397=note: print w/ replies, xml ) Need Help??


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


Comment on Re^3: How a script becomes a module
Download Code

Log In?
Username:
Password:

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

How do I use this? | Other CB clients
Other Users?
Others making s'mores by the fire in the courtyard of the Monastery: (5)
As of 2014-09-15 04:20 GMT
Sections?
Information?
Find Nodes?
Leftovers?
    Voting Booth?

    My favorite cookbook is:










    Results (145 votes), past polls