% cat 753064
$post_message =~ s%\Q[URL=\E([\?\%\:\/a-zA-Z0-9_\-\.]+)\Q][img]\E([\?\
+%\:\/a-zA-Z0-9_\-\.]+)\Q[/img][/URL]\E%gix;
% perl -Mdiagnostics 753064
Substitution replacement not terminated at 753064 line 1 (#1)
(F) The lexer couldn't find the final delimiter of an s/// or s{}{
+}
construct. Remember that bracketing delimiters count nesting leve
+l.
Missing the leading $ from variable $s may cause this error.
Uncaught exception from user code:
Substitution replacement not terminated at 753064 line 1.
at 753064 line 1
The error message says it all, if you want to substitute, you should tell perl, whats your substitution is.
-- Frank