Beefy Boxes and Bandwidth Generously Provided by pair Networks
Pathologically Eclectic Rubbish Lister
 
PerlMonks  

Re^6: Perl templating/macro creating using 'BEGIN'...

by perl-diddler (Chaplain)
on Sep 28, 2010 at 02:36 UTC ( [id://862341]=note: print w/replies, xml ) Need Help??


in reply to Re^5: Perl templating/macro creating using 'BEGIN'...
in thread Perl templating/macro creating using 'BEGIN'...

Yuck! Don't you think the 2nd version we all came up with (somewhere below near the end of this 'Q') is much better -- it just allows it to be called:
package_vars( qw( foo bar baz) );
in each package, no references to what package it's in. Actually, made two, 'instance_vars' and 'class_vars', for defining/accessing either '$p->{name}' or 'our $name' type-vars in a package. That way each package can clearly declare their vars appropriately at the top of each package.

Maybe not that important in all projects, but this one has 11 packages in 1 file, and should shorten it up considerably and make it more readable -- along with the other 'macros' I can now add, now that I understand how the concept works! Major Bonus!

In general, it's not my first choice, to pull in in non-Core CPAN packages when I don't have to. Makes my package more prone to outside failure and slows down my development over using my own well-known routines (which usually are very simple for what they do). Exceptions are when something saves me tons of work for the trade-off (which I usually don't mind -- it's a favorable investment/trade-off in time), OR things I don't quite understand as they seem too much like magic.

Those I accept when time or interest doesn't let me go off and figure out how to do them myself (and there are alot more than I'd like in this category), BUT, I insert them in my queue to eventually find out enough to do my own in those cases, since for what I want, like in this case, 10 lines of code I understand can me including hundreds lines of foreign, non-Core code that I don't. I'd think most perl programmers are like that, or they wouldn't be perl programmers -- they'd probably be using java or some other application language... eh?

Log In?
Username:
Password:

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

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

    No recent polls found