Hi Eli,

> -    system("groff -Tpdf -dPDF.EXPORT=1 -mom -z $cmdstring 2>&1 | grep 
> '^\.ds' | groff -Tpdf -mom - $preconv $cmdstring");
> +    system("groff -Tpdf -dPDF.EXPORT=1 -mom -z $cmdstring 2>&1 | grep 
> \"^\.ds\" | groff -Tpdf -mom - $preconv $cmdstring");

This looks wrong both times.  :-)  It's a double-quoted string in perl,
so backslash is interpreted as an escape thus \. needlessly escapes the
non-special dot giving just a dot and grep sees `^.ds' for the pattern
AFAICS.

    $ perl
    system("prargv a\.b 'a\.b' \"a\.b\" \"a\\.b\"");
        0 '/home/ralph/bin/prargv'
        1 'a.b'
        2 'a.b'
        3 'a.b'
        4 'a\\.b'
    $ 

#4 is what's wanted;  prargv is Python's repr() function, so that's a
four-character string and grep will escape the any-character
meta-character in the regexp.

Cheers, Ralph.

Reply via email to