Beefy Boxes and Bandwidth Generously Provided by pair Networks
Syntactic Confectionery Delight
 
PerlMonks  

Re^3: Perl 5 interpreter

by ikegami (Pope)
on Jan 12, 2011 at 08:48 UTC ( #881844=note: print w/ replies, xml ) Need Help??


in reply to Re^2: Perl 5 interpreter
in thread Perl 5 interpreter

Definitely not all. Some macros ("dXXX;") create and initialise variables used by one or more other macros. Those macros and the macros that use the variables declared by them couldn't be made into functions without a cost.

In fact, these are the only macros that gave me any confusion. The documentation isn't clear as ti what declares what and what uses what. The only other time I've had to look into the macros was to see what exactly is an acceptable input. (e.g. Is NULL ok?)

I'm not sure how much more readable inlinable functions would be. Looking down seven levels of functions is no easier than looking down seven level of macros. I imagine most debuggers are better at handling inline functions than macros, though.


Comment on Re^3: Perl 5 interpreter
Download Code
Re^4: Perl 5 interpreter
by Anonymous Monk on Jan 12, 2011 at 09:02 UTC
    Are Macros only such ways of creating abstractions? Because they are more of a kind of reusable templating stuff. Here one has to do work on more text replacement and substitution and then work on its logic.

Log In?
Username:
Password:

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

How do I use this? | Other CB clients
Other Users?
Others chilling in the Monastery: (6)
As of 2014-09-03 04:48 GMT
Sections?
Information?
Find Nodes?
Leftovers?
    Voting Booth?

    My favorite cookbook is:










    Results (35 votes), past polls