You have [a..z] where you should have [a-z]. You also have 'my' in front of $content2, which is wrong if you are trying to match a string which is already in $content2. If you are trying to match against $_ and put the results in $content2, you should write: my $content2 = m#(yourregexhere)#i;
or, maybe clearer,my $content2 = ($_ =~ m#(yourregexhere)#i);
The construct (.+)+ doesn't really make sense. Just .+ would be okay, but you have to worry about matching too much. One possibility is .+?, but that's not the most efficient code and you could still get false matches in some cases, such as if the source text was, e.g.: http://www.page.com/files4/i/90c/93898.gif is not a .jpg file
You might want m#(www\.page\.com/files\d+/[a-z]/\d\S+\.jpg)#i
or, if this is a real HTML link, m#(www\.page\.com/files\d+/[a-z]/[^"']+\.jpg)#i
|