Thanks to the observations of
Zaxo and
you, I've gotten through some errors, misunderstandings and typos, but there is one error message I don't understand (even with
use diagnostics). The whole program follows with the error listed first. The line giving the error is the one with the
map command. It looks like the variables
$1, $2 are somehow not being set. Perhaps the oddest aspect is that the program seems to work anyway. The error message is repeated 3 times.
Error:
Use of uninitialized value at e.pl line 13, <DATA> chunk 5.
Code:
#!/usr/bin/perl -w
my $file;
my @info;
my $line;
my %data = (one => 1, two => 2, three => 3);
foreach $file (<BXML=Tr*>) {
open (DATA, $file);
@info = <DATA>; # @info contains the whole xml record
foreach $line (@info) {
chomp $line;
$line =~ s|E-mail|Email|g; # make email tags match all other
+ tags
%data = map { /<(\w+)>\s*(.*?)<\/\w+>/; ($1, $2) } @info;
}
print "\n",$data{"Position"},"\t",$data{"GradYear"},"\t",$data{"Em
+ail"},"\n";
}
close (DATA);
OutPut:
Stdnt 1987 SomeAddr@abc.com
So, can I safely ignore the error since the code does what I expect? Or is that asking for trouble?
-Theo-
(so many nodes and so little time ... )
-
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.