--- /dev/null
+#!/usr/bin/perl -wp
+#
+# long lines are broken by inserting \ plus spaces/tabs, somewhere
+# lines already ending with \ and maybe some $s have a $ postpended
+# so they do not look broken
+#
+# unparsing:
+# ooo\ | <SPC>bar => ooobar (<SPC> is >=0 tab/space)
+# then:
+# ooo\$ | any => ooo\ | any
+# ooo\$$ | any => ooo\$ | any
+# ooo\$$$ | any => ooo\$$ | any etc.
+# others unchanged, specifically:
+# ooo$ | any => ooo$ | any
+# ooo$$ | any => ooo$$ | any
+# ooo$$$ | any => ooo$$$ | any etc.
+# (where in these diagrams ` | ' means a newline)
+
+use strict;
+
+s{\\(\$*)\n}{\\$1\$\n}; # $-stuffing, now does not end in backslash
+s{.{500}}{$&\\\n }g; # insert \ \n SPC as needed