Hello Amos, I am trying to find and match "abc123" only, cache-1 , cdn-1 , videos-1 . but s/([a-z]*+[0-9]*)/cdn/; is also matching words without digits!! I want to match for example ... http://(a1.domain.com) not (a.domain.com) so how to restrict it more !!? GET http://profile.ak.fbcdn.net/hprofile-ak-ash2/275314_566041174_1327573084_s.jpg Store lookup URL: http://cdn.ak.fbcdn.net/hprofile-ak-ash2/275314_566041174_1327573084_s.jpg Here is my script (m/^http:\/\/(.*?)\.(.*?)\/(.*?)\.(jp(e?g|e|2)|gif|png|tiff?|bmp|ico|flv|wmv|3gp|mp(4|3)|exe|msi|txt|zip|on2|mar|swf|cab).*?/) { @y = ($1,$2,$3,$4); $y[0] =~ s/((cache|cdn|videos)[-\d]*)|([a-z]*+[0-9]*)/cdn/; print $x . "http://" . $y[0] . "." . $y[1] . "/" . $y[2] . "." . $y[3] . "\n";