Substitutions without eating newlines

I'm writing this simple substitution method and I have a <textarea>
providing me with the input text. I have some multiline text:

This is
a *test*
ok?

Which I pass through to my async method in the variable @text.
In the method, my regular expression and gsub matches anything between
asterisks, and put it in brackets:

@text.gsub!(/\*(.*?)\*/m, '<\1>')

And this yields:

This is a <test> ok?

How can I get my regexp to stop eating the newlines? As you can see, I
have the multiline flag on. Am I missing something within the actual
regexp? Help would be greatly appreciated. Thanks!

This is odd, as running in irb yields the following:

irb(main):001:0> s = “This is\na test\nok?”
=> “This is\na test\nok?”
irb(main):002:0> s.gsub(/*(.*?)*/m, ‘<\1>’)

=> “This is\na \nok?”
irb(main):002:0> puts s.gsub(/*(.*?)*/m, ‘<\1>’)
This is
a
ok?

Here is my Ruby version:

david@redclay ~ $ ruby -v

ruby 1.8.5 (2006-08-25) [i686-linux]

I wonder why it works for me in irb, but not for you in your controller? I also ran it in script/console with Rails 1.2.3, and everything was golden.

dear sender,
i�m out of the office until may 29th.
your email will not be forwarded.
for urgent stuff please contact joern@fork.de
kind regards,
alexander