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 =~ m{\[img\]([^\[\]]*)\[/img\]}g) { print "$1\n"; }