Ah, well, that's quite a lot to explain, but I shall take your questions one at a time:
What's the meaning of the "post =>" ?
Here the
=> operator, commonly known as the
fat comma is simply "stringifying" (i.e turning the bareword
post into a string) its left-hand side argument, which in this case is
post. For more information on the
fat comma see.
perlop. Looking at it from a higher level it is also specifying that the
post handler is being provided. For information on
Filter::Include's handlers see. the
HANDLERS section.
What is the meaning of "sub (" without the subname ?
When
sub is used without a name it is creating an anonymous sub and so is acting as an
anonymous subroutine constuctor. This means that it will create a subroutine and return a reference to that subroutine. It is anonymous by virtue of the fact that it can be only referred to by its reference and not its name, which is orthogonal to the anonymous array (
[]) and anonymous hash (
{}) constructors. For more information on anonymous subroutines see.
perlsub.
What should be in $_[0] and $_[1] ?
As documented in the
HANDLERS. section of
Filter::Include the first argument (
$_[0]) will contain the name of the file or module being included and the second argument (
$_[1]) will be the code that has just been filtered.
What's the meaning of "$Filter::Include::LINE" ?
This was a little more subtle and is not currently documented in
Filter::Include, which I apologise for. It holds the current line number as of the last include. This should definitely be documented and perhaps better exposed through the API. Your post definitely gave me pause for thought about how your problem could solved nicely and if it should in fact be part of the module as it certainly looks to be a handy feature. Perhaps, again, it could be implemented as another option to
import. Thanks for your input, it is, as always, much appreciated.
-
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.