Since you aren't aware of Perl, I'll be slightly verbose.
First off, Perl is a Linux utility that takes your input file and transforms by way of it's commands, to generate the desired output.
Normally Perl examines the input file a line at a time. A line is separated from the next by means of the ascii character \012 aka \n called as a newline. But in this case we'd rather be reading a paragraph at a time. And how does Perl identify a para?
-00 option will process paras. They get stored in the current record scalar $_
Note that a record now shall have multiple lines in it.
I visualize it as : ^....$ ^...$ ^....$ Basically contiguous islands of lines. The islands are all separated by \n.
To be continued....