We are using Mason 1.x, a (little) modified version of MasonX::WebApp together with Apache2 and mod_perl2 running behind a lightweight Apache as frontend-server. We use mod_perl for Mason and Apache2::UploadProgress , no other mod_perl handlers. Session management is done with MasonX::WebApp and Apache::Session::Wrapper.
I've been playing around with Mason2, Plack, Catalyst and Dancer, where I liked the easier data passing to my templates than with MasonX::WebApp in Catalyst, which leads to a stricter separation from HTML and Perl code. Yet I haven't made any tests with file uploading in combination with a progress-meter on the client side and some other aspects that are important for us, so there is no decision yet, if we will using Apache and mod_perl for this or switch to a PSGI Server or even nginx. The current standing is to switch to Catalyst with Mason2, but this is a long way to go. There is one point that I would like to see in mod_perl that would help me a lot: Currently, I can use on Perl instance in all virtual hosts or add a separate instance with +Parent for a virtual host. Yet , if I have some virtual hosts running with version A , some with Version B, some with Version C I have to add +Parent for each vhost and I,m running out of memory. So , I would like to make instance pools one for each version , and tell each vhost just, which pool to use. So, memory usage is a con for mod_perl, or in other words , if I would found a PSGI based solution which allows something like this this would be an argument for me to switch! Rolf Schaufelberger