Beefy Boxes and Bandwidth Generously Provided by pair Networks
Just another Perl shrine
 
PerlMonks  

Re: Can this be parsed ?

by cLive ;-) (Prior)
on Jul 11, 2002 at 08:05 UTC ( [id://180970]=note: print w/replies, xml ) Need Help??


in reply to Can this be parsed ?

If NAME and HAVENT_GOT_A_CLUE can both contain spaces, then the instance where there is no 'prependition' will cause you real problems IF the last field can start with a letter. But if it can't, here's what I'd do:
#!/usr/bin/perl -w use strict; my $Prep_Re = join '|',('VAN DER','VAN DE','DEN','DE','VAN'); while (<DATA>) { s/\s{2,}/ /g; s/^\s*(.*?)\s*$/$1/; if ( /(.+?) ($Prep_Re) ?((?:[^A-Za-z].*)?)/ ) { my ($Name,$Prep,$Unknown) = ($1,$2,$3); print "$Name == $Prep == $Unknown\n"; } elsif ( /(.+) ([^A-Za-z].*)?/ ) { my ($Name,$Prep,$Unknown) = ($1,'',$2); print "$Name == $Prep == $Unknown\n"; } else { print "No idea for $_\n"; } } __DATA__ WINTER DE <A240> ZANDEN VAN DER ŤAť JENSEN 230 WOODHEAD <D> BRINK 130,- HEYDIER DEN <240> SMITSER (4X115PJ) LINDEN VAN DER MOTEL GOLDEN LEEUW <A225>

.02

ps - the nearest word I could find was cognomen, but I bet that's not right either :)

--
seek(JOB,$$LA,0);

Log In?
Username:
Password:

What's my password?
Create A New User
Domain Nodelet?
Node Status?
node history
Node Type: note [id://180970]
help
Chatterbox?
and the web crawler heard nothing...

How do I use this?Last hourOther CB clients
Other Users?
Others musing on the Monastery: (4)
As of 2024-04-18 22:58 GMT
Sections?
Information?
Find Nodes?
Leftovers?
    Voting Booth?

    No recent polls found