in reply to Return multiple matches in file

Here's another approach... also more in keeping with today's norms (be sure to review and understand davido's code in the Q&A section) and NOT reliant on assumptions about the order in which the coder constructed the image link (see Re: Return multiple matches in file).

my @string = qq 'img src="'; push @string, qq 'alt="'; # We're going to do the matching <b>* ONE *</b> step at a time, for +reasons cited above. # Hence, the array (which could have been created all on one line) # which does NOT assume the order (in the source data) of the search + terms. open (my $INFILE, '<', 'htmFOR909469.html') or die "Can't open htmFOR9 +09469.html ", $!; my $text = join('',<$INFILE>); close ($INFILE); for my $string (@string) { while ( $text =~ /$string([^\"]*)/gis ) { # Regex matches and captures anything after $string that is +NOT a double quote print "Found: $1 --- Searchterm was: $string \n"; } }

Replies are listed 'Best First'.
Re^2: Return multiple matches in file
by Anonymous Monk on Jun 14, 2011 at 22:03 UTC

    Thanks for all the suggestions guys!

    I know that I do need to spend some time understanding perl better, and not just standing on the shoulders of better programmers and using stuff I don't really understand.