That will turn out to be the problem. All bugs like these must be addressed on the client side, using a browser's debugging features to look at the exact data which was sent and received, and to check the JavaScript console for errors. If you are using a JSON package on the Perl (server) side to generate the response, as of course you should be, then you can rely on the JSON being properly-formatted and so on. So the server side is probably exonerated. But on the
side, many things can "silently fail." Maddeningly, JavaScript will spit out an error-message to its console