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.