Latest web development tutorials

Perl variáveis ​​especiais

linguagem Perl define alguma variável especial, geralmente $, @, ou% como um prefixo, por exemplo: $ _.

Muitas variáveis ​​especiais têm um nome em Inglês muito tempo, $ variável de sistema operacional! Pode ser escrito como $ OS_ERROR.

Se você quiser usar o nome em Inglês de uma variável especial no programa precisa de cabeça para adicionaro uso Inglês ;.Este inglês variáveis ​​especiais descritivo.

A variável mais utilizada especial $ _, a variável contém a entrada padrão e padrão de conteúdo correspondente. Exemplos são os seguintes:

#!/usr/bin/perl

foreach ('Google','w3big','Taobao') {
	print $_;
	print "\n";
}

O programa acima, a saída é:

Google
w3big
Taobao

O exemplo a seguir não usamos $ _ para a saída:

#!/usr/bin/perl

foreach ('Google','w3big','Taobao') {
	print;
	print "\n";
}

O programa acima, a saída é:

Google
w3big
Taobao

Exemplo, a primeira saída de "Google", então a saída "w3big", a saída final "Taobao".

Na iteração do loop, loop de corrente de corda em $ _ e, em seguida, através da saída de impressão. Também imprimir sem especificar a variável de saída é usado por padrão $ _.

A seguir estão alguns estados, mesmo sem Perl assumirá $ _ lugar:

  • Monoculares várias funções, incluindo como ord function () e int (), e assim, além de "-t" todos os testes de arquivo ( "-f", "- d"), "- t" STDIN ação padrão.
  • Uma lista das várias funções, tais como print () e unlink ().
  • Não use o modo operador "= ~" quando a operação de correspondência "m //", "s ///" e "tr ///".
  • Quando outras variáveis ​​não são dadas laço "foreach" iteração padrão variável.
  • iteração implícita grep variável () e a função do mapa ().
  • Quando ", enquanto" única única condição, ea condição é o resultado de "" teste de operação, $ _ é o local padrão para armazenar os registros de entrada. Além das ", enquanto" condições de ensaio que não aconteceria. (Abreviatura: sublinhar numa operação particular pode ser omitida.)

Tipos de variáveis ​​especiais

De acordo com a natureza especial do uso de variáveis ​​podem ser divididos nas seguintes categorias:

  • variável escalar global especial.

  • variável de matriz global especial.

  • Hash variáveis ​​globais especiais.

  • identificador de arquivo especial global.

  • constante especial global.

  • Regex variáveis ​​especiais.

  • Arquivo lidar com variáveis ​​especiais.

variável escalar global especial

A seguir está uma lista de todas as variável escalar especial contendo caracteres especiais e Inglês na forma de variáveis:

$ _ A entrada e padrão padrão conteúdo correspondente.
$ ARG
$. Anterior leitura número da linha atual de identificadores de arquivo
$ NR
$ / separador de registro de entrada, por padrão, um caractere de nova linha. Tal como acontece com indefinidos esta variável será lido o fim do ficheiro.
$ RS
$, separador de campo de saída
$ OFS
$ \ O separador de registro de saída
$ ORS
$ " A mesma variável $, similar, mas aplicado à string entre aspas duplas (ou interpolação de string similar) é inserido dentro da série de ocasiões e valores fatia. O padrão é um espaço em branco.
$ LIST_SEPARATOR
$; Delimitador usado quando uma emulação matriz multidimensional. O padrão é "\ 034."
$ SUBSCRIPT_SEPARATOR
$ ^ L Enviado para os canais de saída levar o caractere de alimentação de papel. O padrão é "\ f".
$ FORMAT_FORMFEED
$: O atual conjunto de caracteres depois que uma corda pode ser quebrado para preencher campos de continuação (começando com ^) em um formato. O padrão é "\ n" ".
$ FORMAT_LINE_BREAK_CHARACTERS
$ ^ A Antes de imprimir formato de dados variáveis ​​para salvar
$ ACUMULADOR
$ # Quando imprimir formato de saída digital padrão digital (obsoleto).
$ OFMT
$? Retornar ao estado de um comando externo
$ CHILD_ERROR
$! valor numérico desta variável é o valor de errno, string valor é a string de erro do sistema correspondente
$ OS_ERROR ou US $ ERRNO
$ @ A mensagem de erro de comando eval se ela estiver vazia, isso significa que o último comando de eval concluído com êxito
$ EVAL_ERROR
$$ Perl script para executar a identificação do processo atual
$ PROCESS_ID ou US $ PID
$ < Os números de assinatura reais do processo atual
$ REAL_USER_ID ou US $ UID
$> número efetivo de usuário do processo atual
$ EFFECTIVE_USER_ID ou US $ EUID
$ ( O atual número real processo de grupos de usuários
$ REAL_GROUP_ID ou US $ GID
$) número do grupo de usuário efetivo do processo atual
$ EFFECTIVE_GROUP_ID ou US $ EGID
$ 0 O nome do arquivo contém o script que está sendo executado
$ PROGRAM_NAME
$ [ Índice do primeiro elemento da matriz de matrizes, o padrão é 0.
$] número da versão do Perl
$ PERL_VERSION
$ ^ D O valor do sinalizador de depuração
$ DEBUGGING
$ ^ E Em não-UNIX ambientes do sistema operacional estendido informações de erro
$ EXTENDED_OS_ERROR
$ ^ F valor máximo identificador de arquivo do referido pacote
$ SYSTEM_FD_MAX
$ ^ H Ativado pelo status de sintaxe verificação do compilador
$ ^ I Built-in valor do editor de controle
$ Inplace_Edit
$ ^ M Tamanho do pool de memória sobressalente
$ ^ O nome do sistema operacional
$ OSNAME
$ ^ P Especifica o valor da variável interna depurador atual
$ PERLDB
$ ^ T Desde o início do novo século, o ritmo dos segundos começar a correr fora do tempo
$ BASETIME
$ ^ W O valor atual do interruptor de advertência
$ AVISO
$ ^ X nome de código binário executável Perl
$ EXECUTABLE_NAME
$ ARGV Nome do arquivo atual lido do identificador de arquivo padrão quando

variável de matriz global especial

@ARGV Para a lista de argumentos de linha de comando de script
@INC Quando você importar a lista de diretório do módulo a ser pesquisado
@F Introduzir a matriz de linha de comando

Hash variáveis ​​globais especiais

% INC

Hash% INC contém todos os arquivos com um fazer ou exigir declarações contidas palavra-chave é o nome do arquivo, o valor é o caminho do arquivo

% ENV

Contendo a variável de ambiente atual

% SIG

lista de sinais e como lidar

alça global do ficheiro especial

ARGV

identificador de arquivo especial através da @ARGV variável de matriz todos os nomes de arquivo

STDERR

erro de identificador de saída padrão

STDIN

alça de entrada padrão

STDOUT

alça de saída padrão

DADOS

Especial referência identificador de arquivo qualquer bandeira __END__ o conteúdo do arquivo que contém o conteúdo do script depois. Ou uma referência a todo o arquivo de conteúdo contém bandeira __DATA__ depois, desde que você leu nos mesmos dados em pacotes, __ DATA__ lá.

_ (Sublinhado)

Arquivos especiais de manuseio de arquivo de cache de informação (fstat, stat e lstat).

constante especial global

__END__

O fim lógico do script, o texto depois ignorado.

__FILE__

Nome do arquivo atual

__LINE__

O número da linha atual

__PACKAGE__

O nome do pacote atual, o nome do pacote padrão é o principal.

variáveis ​​especiais regex

$ N

Contendo o último padrão n º cadeia de correspondência

$ &

Anterior bem sucedida cadeia padrão de correspondência

$ JOGO

$ `

Última subcadeia combinando o sucesso do conteúdo anterior

$ PREMATCH

$ '

Conteúdo última partida bem sucedida após substring

$ POSTMATCH

$ +

E a última pesquisa de expressão regular de formato correspondente parêntese último. Por exemplo:

/Version: (.*)|Revision: (.*)/ && ($rev = $+);

$ LAST_PAREN_MATCH

Arquivo lidar com variáveis ​​especiais

$ |

Se ajustado para zero depois de cada gravação chamada de função ou de impressão, automaticamente chama a função fflush, conteúdo escrito irá gravar o arquivo

$ OUTPUT_AUTOFLUSH

$%

O número da página corrente de saída

$ FORMAT_PAGE_NUMBER

$ =

A corrente de comprimento da página. O padrão é 60.

$ FORMAT_LINES_PER_PAGE

$ -

O número da página atual de linhas restantes

$ FORMAT_LINES_LEFT

$ ~

O nome atual do formato de saída do relatório. O valor padrão é o nome do identificador de arquivo.

$ FORMAT_NAME

$ ^

O atual formato nome da tabela cabeçalho de saída do relatório. O valor padrão é com o sufixo "_TOP" nome de identificador de arquivo.

$ FORMAT_TOP_NAME