touch sayhelp_foo
rm -f sayhelp_*
perl -nle '
    next unless /^\@propset .*_help\/(\d+)#\/(\d+):(.*)/;
    $i=$1; $j=$2; $_=$3;
    s/&/&amp;/g;
    s/>/&gt;/g;
    s/</&lt;/g;
    s/sayhelp (\d+)/sprintf("<A HREF=sayhelp_%02i.html>sayhelp $1<\/A>",$1)/ge;
    1 while s/(\d+)((?:,\d+)+ \((?!=).*\))/sprintf("<A HREF=sayhelp_%02i.html>$1<\/A>",$1).$2/ge;
    1 while s/(\d+)((?:,\d+)+:.*)/sprintf("<A HREF=sayhelp_%02i.html>$1<\/A>",$1).$2/ge;
    print if /(\d+)(:\S.*)/;
    1 while s/(\d+)(:\S.*)/sprintf("<A HREF=sayhelp_%02i.html>$1<\/A>",$1).$2/ge;
    1 while s/(\d+) (\((?!=).*\))/sprintf("<A HREF=sayhelp_%02i.html>$1<\/A> ",$1).$2/ge;
    $prop[$i][$j]=$_;
    END{
        for ( $i="01"; $i<100; $i++ ) {
            for($j=1; $prop[$i][$j]; $j++) {
                 open OUT,(sprintf ">>sayhelp_%02i.html",$i);
                 print OUT "<TITLE>sayhelp $i</TITLE><PRE>" if $j==1;
                 print OUT "$prop[$i][$j]"
            }
            print OUT "</PRE>";
        }
    }' progsayfront3-10.MUF 

