use strict; use warnings; my @strings = ( "http://mysite/bbsui.jsp?id=dxpwd", "http://mysite/bbsui.jsp?id=dxpsf", "http://mysite/bbsui.jsp?id=sfpwd", "http://somewhere.else.jsp?id=YOU-DO-NOT-WANT-THIS", "http://mysite/bbsui.jsp?id=ds35e", "http://somewhere.else.too?id=XXXXXXXXXXXXXXXXXXXX", "http://mysite/bbsui.jsp?id=124536" ); my $base = 'http://mysite/bbsui.jsp?id='; my $pattern = "^\Q$base\E(.+)\$"; my @id = grep { $_ } map { $1 if /$pattern/ } @strings; print "(" . join (',', @id) .")\n"; #### (dxpwd,dxpsf,sfpwd,ds35e,124536)