Programmazione  »  Guide  »  Guida Perl 

Variabili speciali



Il perl mette a disposizione un insieme piuttosto ricco di variabili speciali, ossia variabili gestite direttamente dall'interprete che contengono parametri assai utili.
In molti casi può essere utile passare dei parametri sulla linea di comando al nostro script Perl, ad esempio con:
perl script.pl argomento

Questo può essere benissimo fatto, ricordando che i parametri che noi passiamo sono immagazzinati nell'array @ARGV (maiuscolo!!); questo array è speciale ma si comporta esattamente come tutti gli altri array: $ARGV[0] indica il primo elemento dell'array, $#ARGV indica l'ultimo ecc. Vediamo come esempio la "riscrittura" del comando 'grep' dei sistemi Unix: questo comando visualizza le righe del file di testo che contengono la stringa passata come argomento al programma; si scriverà quindi uno script che cerca nel file di testo l'argomento che noi passiamo al nostro script.

#!/usr/bin/perl
$ARGV[0] || die "Devi specificare la stringa da cercaren";
@file = `ls -1`;
chop(@file);
foreach $file (@file) {
-T $file || next;
open(FILE, "<$file") ||next;
while ($r = <IN>) {
$r =~ /$ARGV[0]/ && print "$file: $r";
}
close (IN);
}

Magari l'esempio è un po' ampio, ma può essere utile per illustrare le potenzialità di @ARGV; non preoccupatevi se non capite foreach, open e altro: più avanti saranno spiegati. Un esempio più semplice può essere:

#!/usr/local/bin/perl
$filename = $ARGV[0];
open(FILE, "< $filename") || die "Errore!nn";
while ($riga = <FILE>) {
print "$riga";
}

In questo esempio, lo script aspetta che gli venga passato come argomento il nome del file (seconda riga), sul quale esegue determinate operazioni (nello specifico, apre il file in lettura o, se non esiste, viene visualizzato un messaggio d'errore; poi stampa ogni riga di tal file) Un altro tipo interessante di variabili sono le variabili d'ambiente, che l'interprete prende dal sistema e memorizza nell'hash %ENV. Tale hash contiene tutte le variabili d'ambiente del sistema, che possono essere richiamate con $ENV{variabile}. Per vederne il funzionamento, si provi il seguente script:

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

Ovviamente tale script funziona con tutte le variabili, ed è altresì possibile modificarle (attenzione a non combinare casino). Per vedere su quali variabili potete agire, lanciate il comando:

$ set |more

che visualizzerà le variabili con il loro valore.

Ultimi articoli Programmazione

Windows 8 Store, un posto in prima fila

La pre-certificazione che permetterà di avere le nostre applicazioni...

La concorrenza con C++11, async e la libreria Threading

La libreria Threading e i principali costrutti per sfruttare il...

Visual Studio 11 beta, le novità

Le caratteristiche più interessanti introdotte nella beta di Visual...

Windows 8, WinRT API e applicazioni Metro Style

Come creare una semplicissima interazione in stile Metro con C++...

C++11, la libreria standard

Le funzioni sugli insiemi e i contenitori mutuati dalle estensioni...

Altri articoli

Guide Programmazione

Azure, una nuvola tanti linguaggi

Entrare con semplicità ed efficacia nel mondo di Windows Azure e...

Guida Antipattern

Come evitare le cattive abitudini, le worst practices e le trappole...

RESTful Web Services - La Guida

Dai principi ispiratori del Web programmabile e delle architetture...

Altre guide

Newsletter @Programmazione

Ogni settimana, direttamente nella tua e-mail: articoli, script e guide su Java, Visual Basic, VB.Net ed i più diffusi linguaggi di programmazione.

Iscriviti alla newsletter

Altre newsletter

Corsi in aula

Amministratore di Reti Windows Server 2008

11 Giugno 2012 a Milano
Disponibilità: 5 Posti

Nessun corso previsto