Minor issue: I think the line numbers that are reported are incorrect:
$ cat foo.pl
#!/usr/bin/env perl
use Carp;
carp('boo'); # This is line 3
$ exports foo.pl
foo.pl:
7: carp('boo'); # This is line 3
carp
# use Carp qw< carp >;
$
Am I reading that right? It looks like it tells me that the carp call is on line 7, but it is really on line 3. If I make this hack to exports, it seems to give me the line number I expect:
sub ReportExportUse {
my( $fh, @mods ) = @_;
my( @exports, %export_mod, %conflict );
GroupExports( \( @exports, %export_mod, %conflict ), @mods );
my %mod_export;
my $inuse = 0;
if( @exports ) {
my $match = MatchWords( @exports );
$match = qr/$match/;
local $_;
local $. = 0; # <------------- HACK
while( <$fh> ) {
Here is my new output:
foo.pl:
3: carp('boo'); # This is line 3
carp
# use Carp qw< carp >;
There is probably a better solution, and I suspect it has something to do with the seek.
-
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.