web-dev-qa-db-ja.com

フォーマットを保持するperldoc出力を監視する

watchを使用して私が書いているperlpodドキュメントに従うと、フォーマットが乱雑になります(NAMEおよびSynopsisセクションを参照)。

Every 2,0s: perldoc lib/Uki/Handlers/SOS.pm                                                   Tue Apr  8 10:42:43 2014

Uki::Handlers::SOS(3) User Contributed Perl DocumentationUki::Handlers::SOS(3)



N NA AM ME E
       Uki::Handlers::SOS - Studenten-Handler

S Sy yn no op ps si is s
       SOS-spezifische Spezialisierung des Uki::Handlers::Person-Handlers.

これは、出力端末がTTYではないとnroffが考えているためだと思いますが、実際には、であると言う方法がわかりません。 TTY。

1
sschober

あなたは正しいです、あなたの問題はnroff/groffによって行われる美化のレンダリングです。

この美化を回避するには、nroff/groffをバイパスし、podドキュメントをpod2textを含むテキストに出力します(これはPerlディストリビューションの一部であるため、それを持っている必要があります):

watch "pod2text <your_Perl_withpod_file>"
1
Ouki

「しかし、保存したいフォーマット情報が失われました。」

それはあなたがttyにいないと思っているのではなく、あなたが本当に古いttyにいると思っているということです。 grotty 、groffのバックエンドプロセッサ。マニュアルページから:

-cスイッチを使用して古い動作に戻し、シーケンス 'c BACKSPACE c'で太字cを出力し、シーケンス '_ BACKSPACEc'でイタリック文字cを出力します。同時に、カラー出力は無効になります。 GROFF_NO_SGR環境変数を設定するか、「sgr」Xコマンドを使用しても同じ効果が得られます(以下を参照)。

問題は、-cまたはGROFF_NO_SGRを設定したくないが、何らかの理由でそれらの一方または両方が設定されていると見なすことです。

環境でGROFF*を確認し、TERM変数で正常な値を確認してください。

0
msw