Perlポーズは追加の制御-Oを使用してマニュアルページを生成します。

Perlポーズは追加の制御-Oを使用してマニュアルページを生成します。

私はpod2usageマニュアルページを生成するためにPerlスクリプトを使用しています。コードは次のとおりです。

use Pod::Usage;
pod2usage(-verbose => 2) ;
exit 0 ;
... some code ...
__END__                                                                                                                             

=head1 NAME                                                                                                                         

my-program - program to do things                                                                   

=head1 SYNOPSIS                                                                                                                     

B<my-program> ( help | status | version )                                                                              

B<my-program> ( lock I<reason> )                                                                                                

B<my-program> ( unlock [I<username | ALL>] ) 

プログラムを実行すると、マニュアルページが表示されますが、次のようになります。

NAME^O
    my-program - program to do things

SYNOPSIS^O
    my-program^O ( facter | help | status | version )

    my-program^O ( lock reason^O )

    my-program^O ( unlock [username | ALL^O] )

上記の単語は太字で下線が引かれていますが、^O次のようになります。なぜそこにいるのですか?

簡単なマニュアルページ(例:)を作成する場合、man man太字または下線付きの単語にはサフィックスはありません^O

termこれは、変数がに設定されているbashシェルのDebianストレッチャーで発生しますlinux

ベストアンサー1

(驚くべきことに)OpenBSDで問題を再現して(または)TERMに設定できます。 、、、またはその他の一般端末に設定しても問題はなく、文字は表示されません。linuxrxvtTERMvt100screentmuxxterm^O

端末機能に関して私が見つけた唯一の関連情報はPod::Text次のとおりですPod::Usage使用されるtermcap書き換えられた古いシーケンスを使用してください。基本フォーマットを使用してフォーマットしたり、マニュアルに記載されているように使用したりすると、TERM=linux違いはないようです。Pod::UsagePod::TextPod::Text::TermcapPod::Usage

デフォルトのテキストフォーマッタはですPod::TextPod::Usage基本クラスはプリセットで定義できます。$Pod::Usage::Formatter 今後たとえば、次のようになりますPod::Usage

BEGIN { $Pod::Usage::Formatter = 'Pod::Text::Termcap'; }
use Pod::Usage qw(pod2usage);

TERM使用している端末の変数が正しく設定されていることを確認してください。ほとんどの端末はxtermorで動作しますが、xterm-colororで実行されているセッションでは機能する必要があります(両方のプログラムはデフォルトでこれを適用します)。screentmuxTERM=screen

おすすめ記事