Posso (surpreendentemente) reproduzir seu problema no OpenBSD com TERM definido como linux (ou rxvt ). Com TERM definido como vt100 , screen , tmux , xterm ou outros terminais comuns, não tenho problema e os caracteres ^O não aparecem.
A única informação relevante que consegui encontrar em relação às capacidades do terminal é que Pod::Text , que Pod::Usage usa, usado para usar termcap de sequências antes de ser reescrito. Com TERM=linux , parece não fazer nenhuma diferença se Pod::Usage estiver usando o Pod::Text padrão para formatação ou se for usado o Pod::Text::Termcap , conforme explicado na documentação Pod::Usage :
The default text formatter is
Pod::Text. The base class forPod::Usagecan be defined by pre-setting$Pod::Usage::Formatterbefore loadingPod::Usage, e.g.:BEGIN { $Pod::Usage::Formatter = 'Pod::Text::Termcap'; } use Pod::Usage qw(pod2usage);
Certifique-se de que a variável TERM esteja configurada corretamente para o terminal que você está usando. A maioria dos terminas funciona bem com xterm ou xterm-color , embora as sessões executadas em screen ou tmux devam ter TERM=screen (os dois programas aplicam isso por padrão).