El perl pone a disposición un conjunto bastante rico de variables especiales, o sea variables gestionadas directamente por el intérprete que contienen parámetros muy útiles.
En muchos casos puede ser útil pasar de los parámetros en la línea de instrucción a nuestro script Perl, por ejemplo con:

perl script.pl argumento

Esto se puede hacer perfectamente recordando que los parámetros que nosotros pasamos se almacenan en el array @ARGV (¡mayúscula!); este array es especial, pero se comporta exactamente como los demás array: $ARGV[0] indica el primer elemento del array, $#ARGV indica el último, etc. Veamos como ejemplo la “reescritura” de la instrucción ‘grep’ de los sistemas Unix: esta instrucción muestra las líneas del file de texto que contienen la cadena pasada como argumento al programa; por tanto, se escribirá un script que busca en el file de texto el argumento que nosotros pasamos a nuestro script.

#!/usr/bin/perl
$ARGV[0] || die “tienes que especificar la cadena de buscar\n”;
@file = `ls -1`;
chop(@file);
foreach $file (@file) {
-T $file || next;
open(FILE, “<$file”) ||next;
while ($r = ) {
$r =~ /$ARGV[0]/ && print “$file: $r”;
}
close (IN);
}

Quizá el ejemplo resulta algo general, pero puede ser útil para ilustrar las potencialidades de @ARGV; no os preocupéis si no entendéis foreach, open y otros: más adelante se explicarán. Un ejemplo más simple puede ser:

#!/usr/local/bin/perl
$filename = $ARGV[0];
open(FILE, “< $filename”) || die “¡Error!\n\n”;
while ($riga = ) {
print “$riga”;
}

En este ejemplo, el script espera que se le pase como argumento el nombre del file (segunda línea) sobhre el que ejecuta determinadas operaciones (en concreto, abre el file en lectura o, si no existe, se muestra un mensaje de error; después, imprime cada línea de ese file) Otro tipo de variables interesante es el de las variables de ambiente, que el intérprete toma del sistema y memoriza en el hash %ENV. Este hash contiene todas las variables de ambiente del sistema, que pueden ser seleccionadas con $ENV{variable}. Para ver su funcionamiento, hay que probar el siguiente script:

#!/usr/bin/perl
print “Path è: $ENV{PATH}\n”;

Obviamente, dicho script funciona con todas las variables y además es posible modificarlas (cuidado para no armar un lío). Para ver sobre qué variables podéis actuar, ejecutad:

$ set |more

que mostrará las variables con sus respectivos valores.

?

Que es una VPS, virtual private server, recursos de dedicado a bajo costo Hace poco cuando hablamamos de servicios de alojamiento web, solo se ofrecian los alojamientos compartidos o dedicados, pues la evolución de la tecnol...
mysql unbuffered query mysql_unbuffered_query — Envía una consulta SQL a MySQL, sin recuperar ni colocar en búfer las filas de resultado Descripción resource mysql_un...
Opencart Module for Product Display (With Coming Soon Addon (VQMod)) The Coming Soon Addon Requires VQMod To Work This module allows you to place custom product displays on your site Features: Advanced administr...
Ranking Sistemas Operativos Junio 2013 - Pese a que pueda sorprender a algunas personas los sistemas operativos de Microsoft copan la clasificación de Mayo sumando un porcentaje de mercado ...
mysql query mysql_query — Envía una consulta de MySQL Descripción resource mysql_query ( string $query ) mysql_query() envía una consulta (a la base de datos ac...
Cosas que las Empresas deben tomar en cuenta del Caso de Exito Angry Birds 1. Sé persistente- Rovio no llegó y besó el santo. La empresa se lanzó en 2003 y Angry Birds no llegó hasta 2009. Para crear un juego de éxito como el...
IBM compra Varicen IBM ha acordado comprar la compañía privada Varicent Software, con sede en Toronto y que cuenta con software de análisis para la gestión del rendimien...
Que Novedades trae Office 15.. Según información de The Verge, la próxima versión de Microsoft Office ofrecerá un servicio gratuito que nos permitirá compartir nuestros documentos a...
Crean máquina que aprende a jugar viendo humanos, y luego los derrota El sistema fue inventado por ?ukasz Kaiser, un científico polaco que publicó un paper detallando cómo su sistema usa un software de reconocimiento vis...
Card Guides como referencia para trabajar con PHP PHP es un lenguaje interpretado de propósito general, diseñado especialmente para el desarrollo web y que actualmente se encuentra en la versión PHP 5...
Variables especiales en PERL
Tagged on: