Você pode verificar se está sendo executado no Windows e, em caso afirmativo, consultar um arquivo de configuração separado, em vez de procurar .netrc
:
my $config_file = '';
if ($^O eq 'MSWin32') {
$config_file = 'c:\path\to\config.ini';
}
else {
$config_file = '~/.netrc';
};
O arquivo .netrc
, por padrão, reside no $HOME
de um usuário, cujo equivalente na plataforma Windows é c:\{Users|Documents and Settings}\<Username>
- 'Usuários' para Windows Vista e mais recente, 'Documents and Settings' para XP e versões anteriores. Você poderia criar um arquivo .netrc
lá e preenchê-lo com as credenciais necessárias, o que exigiria menos (ou nenhuma) alteração em seu código - no entanto, ele falha ao cumprir as convenções do Windows, que teria arquivos de configuração em C:\Users\<Username>\AppData\Local\<Developer>\<Program>\
ou similar. Cabe a você se prefere modificar seu código para atender à convenção ou apenas procurar no diretório base do perfil do usuário por conveniência.
Claro, se você estiver executando o script em Cygwin Perl, basta criar ~/.netrc
para a conta de usuário, preenchê-lo e tê-lo feito.