hi john

i implementet your solution. mine actually did work, but yours seemed more logical.

it works nicely.

thank you

martin

On Wed, Apr 17, 2002 at 12:58:07PM -0700, John W. Krahn wrote:
> [EMAIL PROTECTED] wrote:
> > 
> > hi,
> 
> Hello,
> 
> > im pasting some more of the lines i need to parse. i guess
> > im just learning regex and just espesially learning how to
> > ask the correct questions! heh, dont ask regex without
> > showing enuf of the stuff you want to parse :)
> > 
> > theres is these three basic entries (skakkebaek is spelled awfully. only skak 
>matches em all :-) :
> > 
> > Hits  Cited Author          Cited Work                Volume      Page      Year
> > 
>______________________________________________________________________________________________
> > 
> > [_][667] 279   ...Skakkebaek NE      ENVIRON HEALTH PERSP         104       741    
>  1996
> > [_]   1   SKAKKEBAEK NE         EARLY DETECTION TEST                    26      
>1981
> > [_]   3   SKAKKEBAEK NE         EARLY DETECTION TEST                            
>1981
> > 
> > then there is these freaks:
> > this one contains NE in the name and NE in GENE so GENE is truncated if care is 
>not taken.
> > 
> > [_][718]  18   ...Skakkebaek NE      GENE CHROMOSOME CANC          20       412    
>  1997
> > 
> > here the journal name starts with 7
> > 
> > [_]   3   SKAKKEBAEK NE         7 WORLD C FERT STER                             
>1971
> > 
> > here the journal name ends with a digit thus entangling it in the following page 
>number 101.
> > 
> > [_]   1   SKAKKEBAEK NE         ENV HLTH PERSPECT S2         101         1      
>1993
> > 
> > here is my mathing routine - works with all but the last freak!:
> > 
> > [snip code]
> 
> 
> This works with the data above:
> 
> while ( <DATA> ) {
>     chomp;
>     my @field = split /\s{2,}/;
> 
>     shift @field if $field[0] =~ /]$/;
>     (my $citations) = (shift @field) =~ /(\d+)$/;
> 
>     shift @field if $field[0] =~ /skak.*ne$/i;
> 
>     my $journal = shift @field;
>     my $year    = pop @field || '';
>     my $page    = pop @field || '';
>     my $volume  = pop @field || '';
> 
>     print "Citation: $citations\nJournal: $journal\nVolume: $volume\nPage: 
>$page\nYear: $year\n\n";
>     }
> 
> __DATA__
> [_][667] 279   ...Skakkebaek NE      ENVIRON HEALTH PERSP         104       741      
>1996
> [_]   1   SKAKKEBAEK NE         EARLY DETECTION TEST                    26      1981
> [_]   3   SKAKKEBAEK NE         EARLY DETECTION TEST                            1981
> [_][718]  18   ...Skakkebaek NE      GENE CHROMOSOME CANC          20       412      
>1997
> [_]   3   SKAKKEBAEK NE         7 WORLD C FERT STER                             1971
> [_]   1   SKAKKEBAEK NE         ENV HLTH PERSPECT S2         101         1      1993
> 
> 
> 
> 
> John
> -- 
> use Perl;
> program
> fulfillment
> 
> -- 
> To unsubscribe, e-mail: [EMAIL PROTECTED]
> For additional commands, e-mail: [EMAIL PROTECTED]

-- 
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]

Reply via email to