Por que meu script Perl em ~ / bin não encontra caminhos de arquivos relativos?

0
#!/usr/bin/env perl
use warnings; 
use strict;
use XML::LibXML;

my $parser = XML::LibXML->new;
my $file = './example.xml';
my $doc = $parser->parse_file( $file );
print ref( $doc ), "\n";

Quando movo esse script e o arquivo example.xml para / home / me /, o script funciona. Quando movo o script e o arquivo example.xml para / home / me / bin /, o script não encontra o arquivo example.xml. Isso é algum recurso especial do diretório bin?

    
por sid_com 23.04.2010 / 15:13

1 resposta

4

Não. Mas, ele estará abrindo o arquivo de " ./example.xml ", que deve ser seu diretório de trabalho atual ( cwd , no jargão do Unix). Provavelmente, ele está recebendo seu script a partir do caminho de busca do comando ( $PATH environment variable).

Refira-se por nome de caminho absoluto e funcionará bem. Também recomendo a leitura de cwd , pwd e " man pwd ".

    
por 23.04.2010 / 15:17

Tags