Nessun risultato. Prova con un altro termine.
Guide
Notizie
Software
Tutorial

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.
Il perl mette a disposizione un insieme piuttosto ricco di variabili speciali, ossia variabili gestite direttamente dall'interprete che contengono parametri assai utili.
Link copiato negli appunti

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.

Ti consigliamo anche