- Learn
- Guida Perl
- Variabili speciali
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.
Se vuoi aggiornamenti su Variabili speciali inserisci la tua email nel box qui sotto:
Compilando il presente form acconsento a ricevere le informazioni relative ai servizi di cui alla presente pagina ai sensi dell'informativa sulla privacy.
La tua iscrizione è andata a buon fine. Se vuoi ricevere informazioni personalizzate compila anche i seguenti campi opzionali:
Compilando il presente form acconsento a ricevere le informazioni relative ai servizi di cui alla presente pagina ai sensi dell'informativa sulla privacy.
I Video di HTML.it
Orchestrating Least Privilege
Diogo Mónica, Security Lead per Docker, ci mette in guardia dalla popolarità che i cosiddetti “Container Orchestrator” hanno raggiunto in […]