Here's another PERL issue I found with YaBB 2.6.1 running on ActiveState Perl 5.22.1 with Server 2012 R2 and IIS. Posting it here in case some other poor bastard runs into the same problem, since I couldn't find the issue on Google. When running Setup.pl on the new version of YaBB, I got another lovely 502.2 Bad Gateway message...
HTTP Error 502.2 - Bad Gateway
The specified CGI application misbehaved by not returning a complete set of HTTP headers. The headers it did return are "[Sat Apr 2 13:09:56 2016] Setup.pl: Unescaped left brace in regex is deprecated, passed through in regex; marked by <-- HERE in m/ { <-- HERE yabbbr} / at Sources/Subs.pm line 1861. HTTP/1.0 200 OK Cache-Control: no-cache, must-revalidate Pragma: no-cache Content-Type: text/html; charset=UTF-8 <!DOCTYPE html> <html lang='en-US'> <head> <meta charset="utf-8"> <title>YaBB 2.6.12 Setup</title> <style type="text/css"> html, body {color:#000; font-family:Verdana, Helvetica, Arial, Sans-Serif; font-size:13px; background-c...
The error message was incredibly long and was obviously mostly HTML bullshit. I fixed this by breaking out the left brace in line 1861 of Sources\Subs.pm. It originally looked like this:
$message =~ s/
/\n/gsm;
I put in a leading backslash before the left brace, to make it look like this:
$message =~ s/ \{yabbbr} /\n/gsm;
All fixed.
-b0b
(...what a PITA.)