in reply to Storing multiple blocks of text in the __DATA__ section

Since you indicated an interested in ultimately moving the data to a separate file, I suggest YAML::Tiny

Using YAML::Tiny your data file would look like:

room: > some text here, probably something a few lines long wall: | another text, here, this time pre-formatted (but must be indented)

But, I'm not sure it will handle multiple paragraphs. More likely the pre-formatted syntax would because it uses indentation.

That said, your parser for your syntax might just be the best choice for your application.