Latest web development tutorials

Las variables especiales Perl

lenguaje Perl define una variable especial, por lo general $, @ o% como un prefijo, por ejemplo: $ _.

Muchas variables especiales tienen mucho nombre Inglés, sistema operativo variable $! Se puede escribir como $ OS_ERROR.

Si desea utilizar el nombre de Inglés de una variable especial en el programa que dirigirse para añadiruso Inglés ;.Este inglés variables especiales descriptivo.

La variable especial que se utiliza más comúnmente _ $, la variable contiene la entrada por defecto y el patrón de búsqueda de contenido. Ejemplos son los siguientes:

#!/usr/bin/perl

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

El programa anterior, la salida es:

Google
w3big
Taobao

El siguiente ejemplo no usamos $ _ a la salida:

#!/usr/bin/perl

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

El programa anterior, la salida es:

Google
w3big
Taobao

Ejemplo, la primera salida de "Google", entonces la salida "w3big", el resultado final "Taobao".

En el bucle de iteración, bucle de corriente de cadena en $ _ y luego a través de la salida de impresión. También imprimir sin especificar la variable de salida se utiliza por defecto de $ _.

Los siguientes son algunos estados incluso sin Perl asumirán $ _ lugar:

  • Monoculares diversas funciones, incluyendo la función como ord () e int (), y así, además de todas las pruebas de archivos ( "f", "- d") "-t", "- t" STDIN acción predeterminada.
  • Una lista de las diversas funciones, tales como la impresión () y unlink ().
  • No utilice el modo de operador "= ~" cuando la operación de adaptación "m //", "s ///" y "tr ///".
  • Cuando otras variables que no se dan en bucle "foreach" iteración predeterminado variable.
  • iteración implícita grep variable () y la función de mapa ().
  • Cuando ", mientras que" solamente única condición, y la condición es el resultado de la prueba de funcionamiento "", _ $ es la ubicación predeterminada para almacenar los registros de entrada. Además de los "mientras que" las condiciones de prueba de que no iba a pasar. (Mnemotécnico: underline en se puede omitir una operación en particular.)

Tipos de variables especiales

De acuerdo con la naturaleza especial de la utilización de variables se pueden dividir en las siguientes categorías:

  • variable escalar mundial especial.

  • Especial variable de matriz global.

  • Hash variables globales especiales.

  • identificador de archivo especial global.

  • constante especial global.

  • RegEx variables especiales.

  • Identificador de archivo variables especiales.

Especial variable global escalar

A continuación se presenta una lista de todas las variables escalares especial que contiene caracteres especiales y Inglés en forma de variables:

$ _ La entrada por defecto y la comparación de patrones contenido.
$ ARG
$. Anterior lectura número de línea actual de identificadores de archivo
$ NR
$ / separador de registro de entrada, por defecto un carácter de nueva línea. Al igual que con undef esta variable leerá el final del archivo.
$ RS
$, separador de campos de salida
$ OFS
$ \ El separador de registros de salida
$ SRO
$ " La misma variable $, de forma similar, pero aplicado a la cadena encerrada entre comillas dobles (o interpolación de cadenas similares) se inserta dentro de la gama de ocasiones y valores rebanada. El valor predeterminado es un espacio en blanco.
$ LIST_SEPARATOR
$; Delimitador utilizado cuando una emulación matriz multidimensional. El valor predeterminado es "\ 034."
$ SUBSCRIPT_SEPARATOR
$ ^ L Enviado a los canales de salida toma el carácter de alimentación de papel. El valor predeterminado es "\ f".
$ FORMAT_FORMFEED
$: El actual conjunto de caracteres después de lo cual una cadena se puede romper para llenar campos de continuación (comenzando con ^) en un formato. El valor predeterminado es "\ n" ".
$ FORMAT_LINE_BREAK_CHARACTERS
$ ^ A Antes de imprimir el formato de datos variables para el ahorro
$ ACUMULADOR
$ # Al imprimir el formato de salida digital predeterminado digital (obsoleto).
$ OFMT
$? Volver al estado de un comando externo
$ CHILD_ERROR
$! Valor numérico de esta variable es el valor de la variable errno, valor de la cadena es la cadena de error del sistema que corresponde
$ O $ OS_ERROR ERRNO
$ @ El mensaje de error de comando eval si está vacío, significa que el último comando eval completado con éxito
$ EVAL_ERROR
$$ script en Perl para ejecutar el ID del proceso actual
$ O $ PROCESS_ID PID
$ < Los números de abonados reales del proceso actual
$ REAL_USER_ID o $ UID
$> número de usuario efectivo del proceso actual
$ O $ EFFECTIVE_USER_ID EUID
$ ( El proceso actual número real de grupos de usuarios
$ $ REAL_GROUP_ID o GID
$) número de grupo de usuario efectivo del proceso actual
$ O $ EFFECTIVE_GROUP_ID EGID
$ 0 El nombre de archivo contiene está ejecutando la secuencia de comandos
$ PROGRAM_NAME
$ [ Índice del primer elemento de la matriz de matrices, el valor predeterminado es 0.
$] número de versión de Perl
$ PERL_VERSION
$ ^ D El valor del indicador de depuración
$ DEBUGGING
$ ^ E En UNIX no entornos de sistemas operativos extendidos información de error
$ EXTENDED_OS_ERROR
$ ^ F El valor máximo identificador de archivo de dicho haz
$ SYSTEM_FD_MAX
$ ^ H Activa por el estado de comprobar la sintaxis del compilador
$ ^ I Incorporado en el valor de control del editor
$ INPLACE_EDIT
$ ^ M Tamaño de la agrupación de memoria de reserva
$ ^ O nombre del sistema operativo
$ OSNAME
$ ^ P Especifica el valor de la variable interna actual del depurador
$ PERLDB
$ ^ T Desde el comienzo del nuevo siglo, el ritmo de los segundos comiencen a funcionar fuera de plazo
$ BaseTime
$ ^ W El valor actual del interruptor de advertencia
$ ADVERTENCIA
$ ^ X Perl binaria nombre de código ejecutable
$ EXECUTABLE_NAME
$ ARGV Nombre del archivo actual leída desde el identificador de archivo por defecto cuando

Especial variable global matriz

@ARGV Para la lista de argumentos de línea de comandos de la escritura
@INC Al importar la lista de directorio de módulos que se debe buscar
@F Introduzca la matriz de línea de comandos

Hash variables globales especiales

INC%

Hash% INC contiene todos los archivos con un hacer o exigir declaraciones contenidas palabra clave es el nombre del archivo, el valor es la ruta del archivo

% ENV

Que contiene la variable de entorno actual

SIG%

lista de señales y cómo tratar

manija Global archivo especial

ARGV

identificador de archivo especial a través de la matriz @ARGV variable de todos los nombres de archivo

STDERR

error de identificador de salida estándar

STDIN

manija de entrada estándar

STDOUT

manija de salida estándar

DATOS

Especial referencia identificador de archivo cualquier bandera __END__ contenido en el archivo que contiene el contenido de la secuencia de comandos después. O una referencia a la totalidad del archivo de contenido contiene la bandera __DATA__ después, todo el tiempo que ha leído en los mismos paquetes de datos, __ DATA__ allí.

_ (Subrayado)

Los archivos especiales de identificador de archivo de caché de información (fstat, estadísticas y lstat).

constante especial mundial

__END__

El final lógico de la escritura, el texto después ignorada.

__FILE__

Nombre del archivo actual

__LINE__

El número de línea actual

__PACKAGE__

El nombre del paquete actual, el nombre del paquete predeterminado es el principal.

variables especiales de expresiones regulares

$ N

Que contiene la última coincidencia de patrones enésima cadena

$ &

Anterior cadena de coincidencia de patrones éxito

$ PARTIDO

$ `

Última subcadena que ajuste con el éxito de la anterior contenido

$ Prematch

$ '

Contenido último partido éxito después de subcadena

$ posteriores al partido

$ +

Y la última búsqueda de expresiones regulares formato coincidente último paréntesis. Por ejemplo:

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

$ LAST_PAREN_MATCH

Archivo manejar variables especiales

$ |

Si se pone a cero después de cada llamada a la función de escritura o impresión, las llamadas de forma automática la función fflush, contenido escrito escribirá el archivo

$ OUTPUT_AUTOFLUSH

$%

El número de página de salida actual

$ FORMAT_PAGE_NUMBER

$ =

La longitud de la página actual. El valor por defecto es 60.

$ FORMAT_LINES_PER_PAGE

$ -

El número de página actual de líneas restantes

$ FORMAT_LINES_LEFT

$ ~

El nombre actual del formato de salida del informe. El valor predeterminado es el nombre del identificador de archivo.

$ FORMAT_NAME

$ ^

El formato de nombre de la tabla de cabecera de salida de informe actual. El valor por defecto es con el sufijo "_TOP" nombre de identificador de archivo.

$ FORMAT_TOP_NAME