while () { my @urls = ( $_ =~ /(https?\:\/\/.*?\.foo\.com)/g); foreach my $url (@urls) { print "$url\n" if $1; } } __DATA__ http://www.foo.com/fishnuts http://smtp.foo.com https://www.foo.com/?(bunch-of-stuff):{}https://svn.foo.com/docs https://yahoo.de/?search:{width}-https://www.foo.com https://google.com https://foo.com:(More-random-stuff)https://yahoo.de::http://pubdocs.foo.com/top/index.html #### http://www.foo.com http://smtp.foo.com https://www.foo.com https://svn.foo.com https://www.foo.com https://foo.com http://pubdocs.foo.com #### /(https?\:\/\/(?!http.)*?\.foo\.com)/g