in reply to How to find the Postion of String

Do what pelagic says.

But if you are approaching this as a learning opportunity, then the following would work with caveats (note that your code contains unescaped double quotes, and therefore would not compile):

#! /usr/bin/perl -w use strict; my $tmp = "<tr bgcolor=#CCFFFF><td><a href=\"/Tracking/SmcRel30Story\" +>SmcRel30Story</a></td>"; my ($path) = $tmp =~ m{<a # literal <a \s+ # definite whitespace href # literal href \s* # possible whitespace = # literal = \s* # possible whitespace " # literal double quote ( # capture the following [^"]+ # greedy string that does not contain + a quote ) # end capture " # literal double quote }imsx; # case-insensitive print $path, "\n";
See how much work it is? And it still isn't complete - for example, it only allows for " double quote characters around the path and not single quote or missing quotes, it doesn't handle escaped quotes within the attribute, and doesn't allow for other attributes of the <A> tag to precede the href attribute, only returns the first match in the string, etc, etc.

See how much work it is, and it still isn't good enough? Don't be tempted - do what pelagic says.