mirror of
http://galexander.org/git/simplesshd.git
synced 2024-11-27 09:48:08 +00:00
29 lines
584 B
Plaintext
29 lines
584 B
Plaintext
|
#!/usr/bin/perl -i -p
|
||
|
|
||
|
use strict;
|
||
|
use warnings;
|
||
|
|
||
|
# We only need to use "\&'" or "\&." at the start of a line.
|
||
|
s/(?<=.)\\\&(['.])/$1/g;
|
||
|
|
||
|
# Some quotes turn into open/close quotes.
|
||
|
s/'(.)'/\\(oq$1\\(cq/g;
|
||
|
s/(^|[ (])"(?!( |$))/$1\\(lq/gm;
|
||
|
s/(?<! )"([.,:;! )]|$)/\\(rq$1/gm;
|
||
|
s/(\\\(lq[^(]*) "( |$)/$1 \\(rq$2/gm;
|
||
|
s/(^| )" ([^(]*\\\(rq)/$1\\(lq $2/gm;
|
||
|
|
||
|
# And some don't.
|
||
|
s/^([. ])(.*)/ $1 . realquotes($2) /egm;
|
||
|
s/(\\f(B|\(CW).*?\\fP)/ realquotes($1) /egs;
|
||
|
|
||
|
s/^\\\&(\\\(oq)/$1/gm;
|
||
|
|
||
|
sub realquotes
|
||
|
{
|
||
|
my($txt) = @_;
|
||
|
$txt =~ s/\\\([lr]q/"/g;
|
||
|
$txt =~ s/\\\([oc]q/'/g;
|
||
|
$txt;
|
||
|
}
|