$requirement=~s/. /.\\n/g; $requirement=~s/, /,\\n/g;
...
... if it's taken from an array the balloon is shown as a single line where \n is shown as a part of string.
Something like $requirement=~s/. /.\\n/g substitutes a literal '\n' (backslash character '\' followed by an 'n' character) into the $requirement string. You want \n instead:
$requirement=~s/. /.\n/g;
(Update: Remember that the replacement field of the s/// operator follows double-quote string interpolation rules unless '...' (single-quote) delimiters are used.)
Update: A more concise and general substitution would be
$requirement =~ s{ (?<= [,.]) [ \t] }{\n}xmsg;
to cover both cases in one swell foop.
Give a man a fish: <%-{-{-{-<
In reply to Re: Balloons msg
by AnomalousMonk
in thread Balloons msg
by Anonymous Monk
| For: | Use: | ||
| & | & | ||
| < | < | ||
| > | > | ||
| [ | [ | ||
| ] | ] |