| Server IP : 85.214.239.14 / Your IP : 216.73.216.210 Web Server : Apache/2.4.65 (Debian) System : Linux h2886529.stratoserver.net 4.9.0 #1 SMP Mon Sep 30 15:36:27 MSK 2024 x86_64 User : www-data ( 33) PHP Version : 8.2.29 Disable Function : NONE MySQL : OFF | cURL : ON | WGET : ON | Perl : ON | Python : ON | Sudo : ON | Pkexec : OFF Directory : /proc/3/root/proc/3/task/3/root/usr/share/doc/libparse-recdescent-perl/examples/ |
Upload File : |
#!/usr/bin/perl -ws
use Parse::RecDescent;
my $street_type = join '|', qw
{
Street St\.?
Road Rd
Avenue Ave\.?
Lane
Way
Highway Hwy
};
sub Parse::RecDescent::street_name
{
print join('|', @_), "\n";
$_[1] =~ s/\A\s*(([A-Z]+\s+)+($street_type))//io;
return $1;
}
my $parser = Parse::RecDescent->new(<<'EOGRAMMAR');
addr: /\d+[A-Z]?/i street_name
{ print "Number $item[1] in $item{street_name}\n" }
EOGRAMMAR
while (<>)
{
$parser->addr($_);
}