#!/usr/bin/perl use strict; use warnings; our $textfile = "rfl.txt"; our ($text, @urls, @eidurls, $finder); use URI::Find; # Create the finder object with a callback to add # URLs to our list. Note that URI::Find expects # the callback to return the (possibly modified) # URL to be reinserted into the text (hence the # trailing shift). $finder = URI::Find->new( sub { push @urls, $_[0]; shift} ); # Read the file into $text, using "slurp mode" # (ie, the whole file is read in at # once instead of a line at a time) { open my $textfh, " $textfile" or die "Can't open file: $!\n"; local $/; # slurp mode $text = <$textfh>; close $textfh; } $finder->find(\$text); # Find 'em. They'll be in @urls now. @eidurls = grep /eid=/, @urls; # Find the ones we're interested in. print "The URLs are:\n"; print " $_\n" for @eidurls[1..$#eidurls]; # skip the first one