If I use plain WML (ie, not generated by perl, but written out as WML in a file) then I can create cards that are displayed properly on my cell phone (motorola i415).

But if I use Perl to generate the WML, then the information on two separate cards (for example) will appear on the same screen on my phone.

Specifically, the relevant part of the perl script is:

print "<wml>";
...