Perl Lezione 1 : Le basi del linguaggio


By nk - Posted on 08 Gennaio 2006

# Author : dark_
# MailMe : dark69 [at] virgilio.it
# MyHL : www.81100.org
# MyDynDns: http://hellbox.ath.cx

# Indice #

# .1 Introduction
# .2 Get the party started

# Introduction #

Iniziamo con una piccola introduzione sul PERL (Pratical Estraction and
Reportin Leanguage), il suo creatore e’ Larry Wall e la sua attuale versione
e’ la 5.8.0, il Perl a differenza degli altri linguaggi conosciuti (come
c/c++ pascal basic..etc) non è compilato ma bensi’ interpretato ovvero il
codice per essere eseguito non deve essre compilato ma semplicemente tradotto
(o per meglio dire interpretato) dall’interprete. Essendo di larga diffusione
il Perl è molto portabile ed e’ supportato su molteplici piattaforme (Win
9x, Nt, Xp, Unix, Linux, Hp, Sparc..etc..) questo tutorial e’ scritto su una
piattaforma Linux Slackware quindi i codici sono testati con questa
configurazione ma non dovrebbero dare problemi..mi sa che per intro e’
abbastanza, qui sotto riporto i link agli interpreti per le vari piattaforme:

Linux: Installato di serie in molte distro www.perl.com
Windows: ActivePerl www.activestate.com
Hp: ActivePerl www.activestate.com
Aix: ActivePerl www.activestate.com

# Get Party Started #

Mettiamo le cose in chiaro, non mi dilunghero’ troppo sulle spiegazioni
teoriche perche’ da quando scrivo doc sono sempre stato molto pratico,e
nessuno si e’ mai lamentato…(saranno state le minacce a fine doc ??)
Quindi per rispettare questa regola vi sparo subito il primo codice:

#!/usr/bin/perl
#Primo Script
#perl il corso
print “Primo script per il corso\n”;

Bene !!..abbiamo parlato di interprete ma non abbiamo mai detto la modalita’
con la quale si richiama.Questa ce la spiega la prima riga di codice:

#!/usr/bin/perl

Che rappresenta la path nella quale e’ presente l’interprete (su linux), ma
alle volte potrebbe capite che la path di default non sia quella quindi un
utonto andrebbe subito in paranoia, ma subito ci viene in aiuto il comendo
linux whereis la sua sintassi e’ la seguente:

[dark@hellbox:~]$ whereis perl
perl:/usr/bin/perl

Come abbiamo potuto semplicemente notare nel codice precedente il path dell’
interprete era preceduta da #! , che sta ad indicare che dopo quei carattere
si specifica quale sia il path di perl, le due righe sotto stanti iniziano
con # come la prima ma sono sprovviste di ! Quindi verrano ad essere dei commenti.

#Primo Script
#perl il corso

I commenti sono dei pezzi di codice che non vengono interpretati ma servno come
promemoria al programmatore o come spiegazione ad un ipotetico pubblico.I commenti
in perl valgono solo per una singola linea e quindi non verra’ considerato tutto
il testo presente sulla stessa. La quarta linea stampa a schermo la scritta
Primo script per il corso di Perl, e va a capo,la sintassi di print è semplice
ed intutiva, il testo da stampare viene incluso tra due ” ” dopo la chiamata print
e termina cono un ; (ogni operazione in perl termina con un ; ) e poi come possiamo
notare c’e’ \n alla fine della stringa, che sta a significare che tutto quello che
verra’ scritto dopo sara’ scritto nel rigo sottostante.

# Le variabili 1 : Gli scalari #

Gli scalari sono il tipo di variabili piu’ usate nel perl, ma non le possiamo
definire “tipo”, xke’ non hanno un vero e proprio tipo, ma posso essere stringhe,
caratteri, numeri..e tutto quello che vi vien in mente, e come e’ intuibile non
hanno bisogno diessere convertite come nel C.Con l’uso degli scalari si semplifica
la vista al programmatore xke’ non ha bisogno di definire un tipo specifico, ma
posso causare molti guai non avendo un controolo del tipo in una variabile…(ogni
cosa ha i suoi lati negativi e quelli positivi ) )Ogni variabile scalare e’ preceduta
dal simbolo $ e la procedura di assegnamento e’ la sottostante:

#!/usr/bin/perl

$ciao = “W la foca !!\n”;
print $ciao;

In questo caso allo scalare $ciao gli si e’ attribuito il valore della stringa e
la chiamata print ha stampato lo scalare (quindi la stringa che esso conteneva)

un altro esempio:

#!/usr/bin/perl
$num = 1; # assenga 1 allo scalare $num
$numero = $num + 1;
print “Il numero è = $numero”; # $numero e’ 2

Un altra cosa da dire sugli scalari (e sulle variabli in perl in generale)e’ che
non dvono essere dichiarate ma verranno generate nel momento in cui il codice
richiede il loro utilizzo, come possiamo osservare nel codice precedente.

Adesso sicuramente vi verra’ un dubbio (e se non vi viene ve lo faccio venire P ):
Se voglio stampare un carattere riservato come $ come faccio ??.IL problema se
lo sono posti anche i creatori del perl (in primis Larry Wall) e’ semplice, basta
apporre al carattere riservato una backslash. Vediamo un esempio pratico:

#!/usr/bin/perl

$1 = “2000″;
$2 = “Mi ragali $1 \$ ??\n”;
print “$1\n”;
print “$2\n”;

In qeusto caso verra’ stampato come output “Mi regali 2000 $ ??” I caratteri di
escape sono quelli che oltre ad avere funzione di caratteri normali in perl hanno
anche valore di caratteri di escape, la lista di quelli piu’ usati e’ riportata
qui sotto:

\$ $
\@ @
\% %
\n Newline
\r Return
\t Tab
\f Formfeed
\b Backspace
\a Bell (beep)
\e Escape
07 Ottale ASCII (007 Bell)
\x8a Esadecimale ASCII
\cM Carattere di controllo (CTRL-M)
\\ Backslash
\” Doppio apice
\l Prossima lettera minuscola
\L Tutte le nuove lettere in minuscolo fino a \E
\u Prossima lettera maiuscola
\U Tutte le nuove lettere in maiuscole fino a \E
\Q Preponi Backslash a caratteri non alfanumerici fino a \E
\E Termina il comando di \L, \U e \Q

# Le variabili 2: Gli Array #

Il secondo tipo variabile in perl e’ l’array, come carattere riservato ha
la @. Un array, se qualcno non lo conosce, e’ una variabile costituita da
celle immaginarie, ognuna delle quali puo’ contenere una variabile di tipo
scalare, ma per seguire il mio metodo adesso vi sparo questo code:

#!/usr/bin/perl

@Squadre = ( ‘Inter’, ‘Juventus’, ‘Milan’);
$squadre = @Squadre;
print “In seria A ci sono $squadre forti\n”;
print “Che sono: $Squadre[0], $Squadre [1], $Squadre [2]\n”;

Allora per prima cosa devo darvi un chiarimento, ogni array e’ formato da un
tot di scalari pari a quanto e’ il numero di elementi nell’array. Pero’ c’e’
una piccola cosa da dire un elemnto di un array si individua in questo modo
$squadre[n] dove n e’ la posizione dell’elemento all’interno dell’array, che
pero’ non parte da 1 ma da 0 quindi il primo elemento sara’ $squadre[0]..e cosi
via come lo schema sottostante:

0 = 1…1 = 2…2 = 3…3 = 4

Un’altra cosa che avrete notato è che assegnando l’array ad una variabile scalare
otteniamo all’inteno della variabile il numero degli elementi dell’array

$squadre = @Squadre; # $squadre vale 3

Ah..un’ultima cosa, ricordatevi che il perl e’ un linguaggio a case sensitive quindi
le variabili $squadre e $Squadre sono diverse, ma conviene sempre assegnare nomi
diversi per rendere il codice molto più leggebile (prima l’ho fatto per introdurre
questa chicca P )

Per questa lezione è tutto, nella prossima lezione tratteremo i seguenti argomenti:

# Le Variabili 3: Gli Hash #
# Gli Array :Manipolazione #

Tnx: Alla mia ex, mi hai fatto capire che le donne sono tutte zoccole )
A mio padre che mi tiene chiuso in casa (causa colloqui ) ) e mi
da modo di scrivere e a tutti qulli che mi conoscono (classico
concorrente dei quiz)

google ads