r2 - 09 Mar 2006 - IgorSutton
NOME
File::Spec::Unix - Especialização do módulo File::Spec para sistemas Unix, base para outros módulos do pacote File::SpecSINOPSE
require File::Spec::Unix; # É executado automaticamente por File::Spec
DESCRIÇÃO
Oferece métodos para manipulação de especificações de arquivos. Outros módulos do pacote File::Spec, como File::Spec::Mac, extendem o módulo File::Spec::Unix e sobrescrevem métodos específicos.MÉTODOS
canonpath()
-
Não faz nenhuma verificação física no sistema de arquivos, porém executa uma limpeza lógica em um caminho de arquivos. Sucessivos caracteres
/e/.são eliminados no UNIX. -
$caminho_canonico = File::Spec->canonpath( $caminho ) ; catdir()
-
Concatena dois ou mais nomes de diretórios para formar um caminho de diretório completo. Este método remove a
/do final, pois não é bonito, não é necessário e confunde o OS2. Claro que se este for o diretório raíz, a/não é removida
- catfile
- Concatena um ou mais nomes de diretórios e um nome de arquivo para formar um caminho de arquivo completo.
- curdir
-
Devolve uma representação de uma string contendo o diretório atual,
.no UNIX. - devnull
-
Devolve uma representação de uma string contendo o dispositivo nulo,
/dev/nullno UNIX. - rootdir
-
Devolve a representação de uma string contendo o diretório raíz,
/no UNIX. - tmpdir
- Devolve a representação de uma string contendo o nome do primeiro diretório com permissão de escrita da lista abaixo ou o diretório atual caso nenhum dos diretórios da lista tenha permissão de escrita:
-
$ENV{TMPDIR} -
/tmp -
Desde a versão 5.8.0 do Perl, se você estiver executando utilizando o modo taint, e
$ENV{TMPDIR}esteja marcado (tainted), ele não é utilizado. - updir
-
Devolve uma representação de uma string contendo o diretório pai,
..no UNIX. - no_upwards
-
Dada uma lista de nomes de arquivos, remove aqueles que se referem ao diretório pai. (Não remove links simbólicos, apenas
.,..e equivalentes.) - case_tolerant
- Devolve um valor verdadeiro ou falso indicando se, respectivamente, a caixa das especificações de nome de arquivo e diretórios são ou não são significantes na comparação destas especificações.
- file_name_is_absolute
- Recebe como argumento um caminho e devolve verdadeiro caso este seja um caminho absoluto.
- Esta função não consulta o sistema de arquivos local no UNIX, Win32, OS/2 ou Mac OS (Clássico). Ela consulta o ambiente na plataforma VMS (veja file_name_is_absolut in the File::Spec::VMS manpage).
- path
-
Não recebe nenhum argumento, e retorna a variável de ambiente
PATHcomo um array. - join
- A função join é idêntica à catfile.
- splitpath
-
($volume, $diretorio, $arquivo) = File::Spec->splitpath($caminho);
-
($volume, $diretorio, $arquivo) = File::Spec->splitpath($caminho, $sem_arquivo);
-
Separa um caminho em porções de volume, diretório e nome de arquivo. Em sistemas sem conceito de volume, devolve uma variável scalar vazia (
'') na porção do volume. -
Para arquivos sem diferenciação sintática entre nomes de arquivos e diretórios, assume que o último arquivo do
$caminhoé um caminho a menos que$sem_arquivoseja verdadeiro ou um separador de diretórios ou/.ou/..esteja presente no final do caminho. No UNIX isto significa que caso a variável$sem_arquivofor verdadeira, esta função devolverá('', $path, ''). -
A porção do diretório poderá, ou não, ser devolvida com um
/no final. - Os resultados podem ser passados para catpath() para recuperar um caminho equivalente (geralmente idêntico) ao caminho original.
- splitdir
- O oposto de catdir().)>.
-
@diretorios = File::Spec->splitdir( $diretorios ); -
A variável
$diretoriosdeve ser a porção do diretório do caminho em sistemas que possuem conceito de volume ou tenham uma sintaxe de caminhos que diferencie arquivos de diretórios. -
Diferente de apenas dividir os diretórios no separador, nomes de diretório vazio (
'') podem ser devolvidos, porque este valor é significante em alguns sistemas operacionais. - No UNIX,
-
File::Spec->splitdir( "/a/b//c/" ); - Devolve:
-
( '', 'a', 'b', '', 'c', '' ) catpath()
- Recebe como parâmetros um volume, um diretório e um arquivo e devolvem um caminho completo. No UNIX, o parâmetro volume é ignorado, e o diretório e arquivo são concatenados. Uma barra pode ser inserida caso seja necessário (apesar de que se o diretório informado não começar com uma barra, ela não será adicionado). Em outros sistemas operacionais, o volume é significante.
- abs2rel
- Recebe um caminho destino e um caminho base opcional, e devolve o caminho relativo a partir do caminho base até o diretório destino:
-
$caminho_relativo = File::Spec->abs2rel($caminho);
-
$caminho_relativo = File::Spec->abs2rel($caminho, $caminho_base);
-
Caso
$caminho_basenão esteja presente ou esteja vazio (''), então cwd() é utilizado. Caso o$caminho_baseseja relativo, ele é convertido para um caminho absoluto utilizando rel2abs(). Isto significa que ele é obtido relativo a cwd(). -
Em sistemas que possuem uma gramática que identifica nomes de arquivos, a função ignora
$caminho_basecaso este represente um nome de arquivo. Caso contrário, todos os caminhos são tratados como diretórios. -
Caso
$caminhoseja um caminho relativo, ele é convertido para um caminho absoluto utilizando rel2abs(). Isto significa que ele é obtido relativo à cwd(). - Nenhuma verificação no sistema de arquivos é feita. No VMS, há uma interação com o ambiente de trabalho. (N.T.: Não achei uma tradução que eu compreendesse, já que não conheço VMS: On VMS, there is interaction with the working environment, as logicals and macros are expanded.)
- Este código foi baseado no código escrito por Shigio Yamaguchi.
rel2abs()
- Converte um caminho relativo em um caminho absoluto.
-
$caminho_absoluto = File::Spec->rel2abs( $caminho ) ;
-
$caminho_absoluto = File::Spec->rel2abs( $caminho, $caminho_base ) ;
-
Se
$caminho_basenão esteja presente ou esteja vazia (''), então cwd() é usado. Caso$caminho_baseseja relativo, então ele é convertido em um caminho absoluto utilizando rel2abs(). Isto significa que ele é obtido relativo à cwd(). -
Em sistemas que possuem uma gramática que identifica nomes de arquivos, a função ignora
$caminho_basecaso este represente um nome de arquivo. Caso contrário, todos os caminhos são tratados como diretórios. -
Se
$caminhoé um caminho absoluto, ele é limpo e devolvido utilizando canonpath(). - Nenhuma verificação no sistema de arquivos é feita. No VMS, há uma interação com o ambiente de trabalho. (N.T.: Não achei uma tradução que eu compreendesse, já que não conheço VMS: On VMS, there is interaction with the working environment, as logicals and macros are expanded.)
- Este código foi baseado no código escrito por Shigio Yamaguchi.
