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

comment on

( #3333=superdoc: print w/replies, xml ) Need Help??
... listing all the use statements on one line vs. separate lines could make the .exe either fail or work respectively with no other difference... very odd to me, since it didn't seem like it should ever matter.

Perl is very hard to parse statically, maybe even impossible (although PPI does a decent job, considering). So quite a few tools resort to doing a simple line-by-line/regex parse of Perl source files to find out simple things, hoping that the authors of the code stuck to some common styles of writing Perl. For example:

  • The PAUSE indexer parses package ...; lines (and there is a simple trick to hide packages from the indexer),
  • some tools like ExtUtils::MakeMaker parse the our $VERSION = ...; line in modules (see the doc of VERSION_FROM and ExtUtils::MM_Unix->parse_version, Update 2: and see this node for even more modules that do a static parse on module versions), or
  • pp uses Module::ScanDeps which uses a "static-scanning heuristic" (I take that to mean regular expressions) to find the dependencies - and indeed swl has analysed the issue there a bit further.

Updated: Added a few minor specifics.

In reply to Re^3: Very Odd Issue When Using pp to Create an .exe File Including Date::Calc by haukex
in thread Very Odd Issue When Using pp to Create an .exe File Including Date::Calc by perldigious

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 or How to display code and escape characters are good places to start.
Log In?

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

How do I use this? | Other CB clients
Other Users?
Others cooling their heels in the Monastery: (3)
As of 2022-05-27 02:33 GMT
Find Nodes?
    Voting Booth?
    Do you prefer to work remotely?

    Results (94 votes). Check out past polls.