Beefy Boxes and Bandwidth Generously Provided by pair Networks
No such thing as a small change

Re: regex problem

by arkturuz (Curate)
on Mar 17, 2011 at 15:15 UTC ( #893786=note: print w/replies, xml ) Need Help??

in reply to regex problem

It think this solves your problem:
foreach my $email (@split_msg) { my ($title, $tags, $msg); $email =~ m/\[title\](.+)\[title\]/i; $title = $1; # match in single line mode $email =~ m/\[message\](.*)\[message\]/is; $msg = $1; # match is again in $1 print "TITLE:$title\nMESSAGE:$msg\n"; }

Replies are listed 'Best First'.
Re^2: regex problem
by jaimon (Sexton) on Mar 18, 2011 at 14:08 UTC

    And while you are at it, why not shrink the code to

    foreach (...) { my ($title,$tag,$message) = $email =~ /\[title](.*)\[title].*\[tags](. +*)\[tags].*\[message](.*)\[message]/is; ... }
      Yeah, sure, but I didn't want to confuse the OP.