HOME PAGE  |   CONTATTI |   COLLABORA |  ASP  |  PHP  |  HTML |  CSS |  PERL |  JAVA |  TCP/IP  |  RETI  |  LINUX |  MANUALI SPAZIO WEB
PROGRAMMAZIONE

Linguaggio C++

Linguaggio C

Assembler

Java

Perl

LINGUAGGI WEB

Html

Asp

Php

Css

Javascript

GUIDE DI BASE

Internet

Computer

Hardware

Linux




 

Programmare in Perl

 

Variabili speciali


Il Perl ci mette a disposizione un insieme piuttosto ricco di variabili speciali, ossia di variabili gestite direttamente dall'interprete che contengono parametri spesso assai utili.

 

6.1. Argomenti su riga di comando e variabili di ambiente

In molti casi può essere utile passare dei parametri sulla linea di comando al nostro script Perl. I parametri vengono immagazzinati automaticamente nell'array @ARGV: come per ogni altro array $#ARGV indica l'indice dell'ultimo elemento dell'array.

Supponiamo ad esempio di voler scrivere una versione molto semplificata del comando grep di UNIX. Ciò che vogliamo realizzare è uno script che stampi in output le righe dei file di testo della directory corrente che contengono la stringa passata come argomento al programma stesso. Quella che segue è una delle possibili implementazioni di questo programma:

 

#!/usr/local/bin/perl # grep.pl: versione semplificata di grep $ARGV[0] || die "Non e' stato specificata la stringa da cercare\n\n"; @file = `ls -1`; chop(@file); foreach $file (@file) { -T $file || next; open(IN, "< $file") || next; while ($r = <IN>) { $r =~ /$ARGV[0]/ && print "$file: $r"; } close(IN); }

 

L'esempio precedente è sicuramente sovradimensionato per illustrare l'uso dell'array @ARGV, ma può essere utile per richiamare vari concetti visti in precedenza.

Un altro dato che spesso può risultare assai utile è costituito dalle variabili di ambiente, ossia quelle variabili impostate a livello di shell che possono essere utilizzate anche all'interno del programma Perl che le "eredita". Le variabili di ambiente sono memorizzate dall'interprete nell'array associativo %ENV; la chiave per indicizzare gli elementi dell'array è il nome della variabile stessa. Ad esempio la variabile $ENV{term} contiene il tipo di terminale utilizzato dall'utente; la variabile $ENV{path} contiene il path di ricerca delle applicazioni sul sistema dell'utente. Chiaramente impostando un valore nell'array associativo %ENV si imposterà una variabile d'ambiente ereditata anche dai processi richiamati dallo script Perl.

 

 

6.2. Variabili speciali sul pattern matching

In seguito ad un pattern matching vengono istanziate le seguenti variabili speciali:

$1, $2,...

Contengono i pattern contenuti nelle parentesi del pattern matching (corrispondono ai pattern a cui ci si riferisce con \1, ..., \9 all'interno del pattern matching).

$&

La stringa che ha verificato l'ultimo pattern matching.

$`

La stringa che precede quella che ha verificato l'ultimo pattern matching.

$'

La stringa che segue quella che ha verificato l'ultimo pattern matching.

$+

L'ultima parentesi del pattern matching.

Tab. 12: Variabili speciali per il pattern matching

 

 

6.3. Variabili speciali e file

Le seguenti variabili speciali hanno a che fare con le operazioni di I/O su file:

$_

La variabile di default per le operazioni di input e di pattern matching.

$.

La linea corrente del file di input.

$/

Il separatore di record (di default $/ = "\n"); può essere impostata ad una qualsiasi sequenza di separazione dell'input letto da file.

Tab. 13: Variabili speciali per l'uso di file

 

 

6.4. Variabili speciali e processi

Infine le seguenti variabili speciali possono essere utili nel controllare i processi ed i sottoprocessi attraverso uno script Perl:

$$

Il numero di processo dello script in esecuzione.

$?

Lo stato di ritorno dell'ultima operazione di esecuzione di un processo esterno

$0

Il nome del file contenente lo script in Perl.

$!

L'ultimo codice di errore generato dallo script.

$@

L'ultimo messaggio di errore prodotto dallo script.

$<

Lo user ID reale del processo.

$>

Lo user ID effettivo del processo.

Tab. 14: Variabili speciali e processi

 

 

 

Menù   -   Prossima lezione


Nuova pagina 1


 

CREARE UNA RETE

Rete Peer To Peer

Rete client/server

Connettere due Pc

Lista completa

GUIDE PRATICHE

Partizionare l'HD

Comprimere i file

Recupero file

Formattazione

Statistiche

News nel tuo sito

Notizie dal web

Lista completa

 

 

Abbiamo cambiato indirizzo, troverai il nuovo sito all'url

manuali.tutorialpc.it

 

HOME PAGE   -   CONTATTI   -   COLLABORA   -  PRIVACY  -   HOSTING   -   DOMINI

© Copyright 2002-2011. Tutto il materiale che potete visionare in questo sito è dei rispettivi proprietari.

  Tutorialpc non si assume responsabilità per eventuali errori degli autori. 

Risoluzione consigliata 800x600 pixel