Seu sistema operacional não conhece en_US.UTF-8
.
Você não mencionou uma plataforma específica, mas posso reproduzir seu problema:
% uname -a
OSF1 hunter2 V5.1 2650 alpha
% perl -e exit
perl: aviso: falha na configuração da localidade.
perl: warning: verifique se suas configurações de localidade:
LC_ALL = (não definido),
LANG = "pt_BR.UTF-8"
são suportados e instalados no seu sistema.
perl: warning: Voltando ao código do idioma padrão ("C").
Meu palpite é que você usou o ssh para conectar-se a esse host mais antigo a partir de uma máquina mais recente. É comum /etc/ssh/sshd_config
conter
AcceptEnv LANG LC_*
que permite que os clientes propaguem os valores dessas variáveis de ambiente em novas sessões.
O aviso fornece uma dica sobre como esmagá-lo, se você não precisar do local completo:
% env LANG = C perl -e saída
%
ou com bash:
$ LANG = C saída perl -e
$
Para uma correção permanente, escolha uma das
- No host mais antigo, defina a
LANG
variável de ambiente no arquivo de inicialização do seu shell.
- Modificar o seu ambiente no lado do cliente, por exemplo , ao invés de
ssh hunter2
, use o comando LANG=C ssh hunter2
.
- Se você possui direitos de administrador, pare o ssh de enviar as variáveis de ambiente comentando a
SendEnv LANG LC_*
linha no arquivo local /etc/ssh/ssh_config
. (Graças a esta resposta . Veja o Bug 1285 para OpenSSH para mais.)