Hmm, I don't see anything obviously wrong in your code. My best guess would be that that the regex doesn't match your input.
One thing you could to is to add the following line near the top:
and, then, right after closing the $HUBFILE file handle, to print out the content of the @hubs array:
print Dumper \@hubs;
to see the actual content of @hubs after having read the input file.
My guess is that you'll also see only one record there, which would confirm that regex probably needs some change.
Another thing you could do is to try to make the regex less strict about what it sees (maybe you don't have tabs, but spaces somewhere in your input):
push @hubs, $1 if $line =~ /\d+ \s+ (\w+) \s+/x;
Finally, it would be useful if you posted a sample of your input data between <c>
tags, so that we get a better idea of what this input really looks like.
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>
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
Want more info? How to link
or How to display code and escape characters
are good places to start.