in reply to Re: Parsing and adding to a "variable".
in thread Parsing and adding to a "variable".

That's exactly the problem with split in scalar context. It does place the split up values into an array, @_, even though it doesn't appear to. Since @_ is also used for subs to access passed parameters, this is often a bug waiting to happen.

Even if, in a particular case, you know overwriting @_ isn't a problem, it's a bad idiom to get into the habit of using.

In your case, you could count paragraphs with m// instead (untested):

my $paragraphs = 1 + (() = $_content_to_add =~ m/(?:\r?\n)+/g);
or substitute <p>-stuff and count at the same time (also untested):
my $paragraphs = 1 + $_content_to_add =~ s!(?:\r?\n)+!</p>\n<p>!g; $_content_to_add = "<p>$_content_to_add</p>";