#!/usr/bin/perl my %YES; my %NO; $a='pat http://www.abc.com/test.gif ma http://www.abc.com/hello.html http://www.abc.com/test.gif '; $a=~s{(http://[\w\.\-\?\&\;\#\/]+)}{&ask($1)}gexi; sub ask{ my($url) =@_; return $url unless index($url,'www.abc.com'); # add more "return $url if condition;" here (blacklist) if($YES{$url}){ $url =~ s/www.abc.com/www.test.com/; return $url; }elsif($NO{$url}){ return $url; }else{ print "substitute $url ?"; $ans = ; if($ans =~ m/y/i){ ++$YES{$url}; }else{ ++$NO{$url}; } return ask($url); } }