Well, thank you for your advice, gentlemen. It got me on the right track, and I did manage to figure out the issue today. You may or may not be surprised to find it was this:
my $foo = "bar" if $baz; Apparently one of the previous programmers left about 100 such constructs littered about the Perl and Mason code. Fixing them cleared up all the bizarre issues. We had Perl::Critic for the Perl side of the app, and I've done some hacks to criticize the Mason code, but someone had disabled the ProhibitConditionalDeclarations policy. *facepalm* It's interesting that this didn't manifest under Perl 5.8. Not sure if it's worth trying to develop a test case, since my...if falls into the "never do this" category anyway. -- Stephen Clouse <[EMAIL PROTECTED]>