my $test = qq| sdfiojs pfojsdfs fs [img]sdj fpsdofj spojf sfsf [b] [img]http://www.test.com/image.gif[/img] dfs fs s fsf sfd [img]test.gif[/img] |; while ($test =~ /\[img\](\S+?)\[\/img\]/g) { print "$1 \n"; } __END__ c:\test>junk http://www.test.com/image.gif test.gif