You can also do this without a regex, by using split on the ‘/’ character to produce a list, and then subscripting the list to get the desired field:
#! perl
use strict;
use warnings;
my $count = 0;
for my $line (<DATA>)
{
my $name = (split '/', $line)[4];
print "Name #", ++$count, " is '", $name, "'\n";
}
__DATA__
.co.uk/Jobs/Company-Sector/C8A6446X4PND86M9WYJ/Tradewind/?APath=2.21.0
+.0.0
.com/Stuff/Somewhere/ABCD789/Peabody/?APath=2.0.12.1.3
.com.au/More-Stuff/Anywhere/XYZ12345/Perkins/?APath=4.5.6.7.8
Output:
0:14 >perl 390_SoPW.pl
Name #1 is 'Tradewind'
Name #2 is 'Peabody'
Name #3 is 'Perkins'
0:18 >
Hope that helps,
Athanasius <°(((>< contra mundum
|