Continued - 500++ POINTS - Tricky Tracking....Mod

I am ready to BLOW!!!!!

Below routine that worked great, as soon as I added the date field to the data base, I lost my results!

HERE IS THE NEW DATA ROW:
tgvz4263002|A@aol.com||Yes|Yes|Yes|Beth Banana|94455|886-555-6547|B@aol.com|Thu Nov 15 11:06:12 2006

HERE IS THE WORKING ROUTINE FROM OZO:

while( <FILE> ){
    chomp;
    my ($R,$i,$n,$p)=(split/\|/)[1,-1,6,8];
    $R{$i}{$R}="$n : $p : $i <br />\n";
}
my @i = ($TRACK_BACK_EMAIL);
my %seen=();
while( my $R = shift(@i) ){
    for( keys %{$R{$R}} ){
        unshift @told, $R{$R}{$_};
        push @i,$_ unless $seen{$_}++;
    }
}
my $count=0;
my $results='';
for( @told ){
    $results .= ++$count.") $_";
}
precisionAsked:
Who is Participating?
 
ozoCommented:
-1 picks the last field, which is now the date
Either change it to -2, if it will always be the second to last field,
or to 9, if it will always be the nineth field
    my ($R,$i,$n,$p)=(split/\|/)[1,9,6,8];

0
 
mjcoyneCommented:
Where are the hash %R, the array @told, and the scalar $TRACK_BACK_EMAIL initialized and scoped?  If you're running under the strict pragma, these are errors...

Since you re-declare the scalar $R each time through the "while" loop, and there is no $R hash declared, could the %R hash be re-initalized as well (assuming you're not running under strict, which you should always do, if you are it would Perl would throw an exception)?  Must you use the same names for these data structures?
0
 
precisionAuthor Commented:
Ozo, you always seem to amaze me each time, BINGO!  Do you have any training courses?  Where are you located?

Thanks so much....Your a genius
0
Question has a verified solution.

Are you are experiencing a similar issue? Get a personalized answer when you ask a related question.

Have a better answer? Share it in a comment.

All Courses

From novice to tech pro — start learning today.