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

comment on

( [id://3333]=superdoc: print w/replies, xml ) Need Help??

Sure... all code can be data if you want to look at it like that. Its just not a terribly useful place to argue from most of the time. Unless you plan on writing code that modifies or writes other code then you draw a line and your code isn't data.

See self-modifying. I've recently been spending time trying to treat perl code as data though most of the time there isn't much use to it. Most of my work is handled by perflectly mundane structures like hash tables, ordered lists, scalar variables. You can translate these concepts around into many different languages all of which eventually become machine language at which point the difference between code and data is what you plan to do with each.

For examples of perl code as data see (all of which have their own takes on the matter): Emily Dickenson in perl, Getting a code ref to main, Giving subroutines access to themselves, Auditing BEGIN blocks?, Trapping re 'debug', Allen Ginsberg - Is About, B::Deobfuscate - Deobfuscates symbol names and Module Modification at Runtime.

Added By the way - for canonical examples see Lisp macros, trampoline code (in particular linux trampoline because you can go find the source for that) and self-modifying assembly


In reply to Re: Algorithms, Datastructures and syntax by diotalevi
in thread Algorithms, Datastructures and syntax by BUU

Title:
Use:  <p> text here (a paragraph) </p>
and:  <code> code here </code>
to format your post; it's "PerlMonks-approved HTML":



  • Are you posting in the right place? Check out Where do I post X? to know for sure.
  • Posts may use any of the Perl Monks Approved HTML tags. Currently these include the following:
    <code> <a> <b> <big> <blockquote> <br /> <dd> <dl> <dt> <em> <font> <h1> <h2> <h3> <h4> <h5> <h6> <hr /> <i> <li> <nbsp> <ol> <p> <small> <strike> <strong> <sub> <sup> <table> <td> <th> <tr> <tt> <u> <ul>
  • Snippets of code should be wrapped in <code> tags not <pre> tags. In fact, <pre> tags should generally be avoided. If they must be used, extreme care should be taken to ensure that their contents do not have long lines (<70 chars), in order to prevent horizontal scrolling (and possible janitor intervention).
  • Want more info? How to link or How to display code and escape characters are good places to start.
Log In?
Username:
Password:

What's my password?
Create A New User
Domain Nodelet?
Chatterbox?
and the web crawler heard nothing...

How do I use this?Last hourOther CB clients
Other Users?
Others about the Monastery: (5)
As of 2024-04-24 00:18 GMT
Sections?
Information?
Find Nodes?
Leftovers?
    Voting Booth?

    No recent polls found