perl101 - italian perl workshop 2011
DESCRIPTION
TRANSCRIPT
![Page 1: Perl101 - Italian Perl Workshop 2011](https://reader031.vdocuments.net/reader031/viewer/2022020723/54829298b07959570c8b480c/html5/thumbnails/1.jpg)
Corso introduttivo aPerlTorino, 7 Settembre 2011
martedì 6 settembre 2011
![Page 2: Perl101 - Italian Perl Workshop 2011](https://reader031.vdocuments.net/reader031/viewer/2022020723/54829298b07959570c8b480c/html5/thumbnails/2.jpg)
Corso introduttivo aPerlStefano Rodighierohttp://[email protected]: @larsen
martedì 6 settembre 2011
![Page 3: Perl101 - Italian Perl Workshop 2011](https://reader031.vdocuments.net/reader031/viewer/2022020723/54829298b07959570c8b480c/html5/thumbnails/3.jpg)
Cosa poteteaspettarvi daquesto corsoSapere scrivere dei semplici programmi PerlSapere leggere programmi PerlSapere dove trovare altra documentazione
martedì 6 settembre 2011
![Page 4: Perl101 - Italian Perl Workshop 2011](https://reader031.vdocuments.net/reader031/viewer/2022020723/54829298b07959570c8b480c/html5/thumbnails/4.jpg)
Corso introduttivo aPerl• Variabili•Riferimenti e strutture dati• Subroutine• I/O• Espressioni regolari•Moduli•OOP•CPAN
martedì 6 settembre 2011
![Page 5: Perl101 - Italian Perl Workshop 2011](https://reader031.vdocuments.net/reader031/viewer/2022020723/54829298b07959570c8b480c/html5/thumbnails/5.jpg)
Perl~1987, Larry Wall
martedì 6 settembre 2011
![Page 6: Perl101 - Italian Perl Workshop 2011](https://reader031.vdocuments.net/reader031/viewer/2022020723/54829298b07959570c8b480c/html5/thumbnails/6.jpg)
Perl 4.01991, Camel Book
martedì 6 settembre 2011
![Page 7: Perl101 - Italian Perl Workshop 2011](https://reader031.vdocuments.net/reader031/viewer/2022020723/54829298b07959570c8b480c/html5/thumbnails/7.jpg)
Perl 51994, Perl come lo conosciamo ora
martedì 6 settembre 2011
![Page 8: Perl101 - Italian Perl Workshop 2011](https://reader031.vdocuments.net/reader031/viewer/2022020723/54829298b07959570c8b480c/html5/thumbnails/8.jpg)
Perl 5.102008
martedì 6 settembre 2011
![Page 9: Perl101 - Italian Perl Workshop 2011](https://reader031.vdocuments.net/reader031/viewer/2022020723/54829298b07959570c8b480c/html5/thumbnails/9.jpg)
Perl 5.16
martedì 6 settembre 2011
![Page 10: Perl101 - Italian Perl Workshop 2011](https://reader031.vdocuments.net/reader031/viewer/2022020723/54829298b07959570c8b480c/html5/thumbnails/10.jpg)
Perl 6“Quando arriva arriva”
martedì 6 settembre 2011
![Page 11: Perl101 - Italian Perl Workshop 2011](https://reader031.vdocuments.net/reader031/viewer/2022020723/54829298b07959570c8b480c/html5/thumbnails/11.jpg)
Rakudo
martedì 6 settembre 2011
![Page 12: Perl101 - Italian Perl Workshop 2011](https://reader031.vdocuments.net/reader031/viewer/2022020723/54829298b07959570c8b480c/html5/thumbnails/12.jpg)
Rakudo *2010
martedì 6 settembre 2011
![Page 13: Perl101 - Italian Perl Workshop 2011](https://reader031.vdocuments.net/reader031/viewer/2022020723/54829298b07959570c8b480c/html5/thumbnails/13.jpg)
Perl
martedì 6 settembre 2011
![Page 14: Perl101 - Italian Perl Workshop 2011](https://reader031.vdocuments.net/reader031/viewer/2022020723/54829298b07959570c8b480c/html5/thumbnails/14.jpg)
PERLPractical Extraction and Report LanguagePathologically Eclectic Rubbish ListerPolymorphic Existential Recursive Lambdas
martedì 6 settembre 2011
![Page 15: Perl101 - Italian Perl Workshop 2011](https://reader031.vdocuments.net/reader031/viewer/2022020723/54829298b07959570c8b480c/html5/thumbnails/15.jpg)
perl
martedì 6 settembre 2011
![Page 16: Perl101 - Italian Perl Workshop 2011](https://reader031.vdocuments.net/reader031/viewer/2022020723/54829298b07959570c8b480c/html5/thumbnails/16.jpg)
PerlTIMTOWTDIRendere facili le cose facili, possibili le cose difficiliSimile ad un linguaggio naturale
martedì 6 settembre 2011
![Page 17: Perl101 - Italian Perl Workshop 2011](https://reader031.vdocuments.net/reader031/viewer/2022020723/54829298b07959570c8b480c/html5/thumbnails/17.jpg)
ProcurarsiPerlSe usate un sistema *NIX, molto probabilmente lo avete già.Per Windows, ActiveState Perl oppure Strawberry Perl.
martedì 6 settembre 2011
![Page 18: Perl101 - Italian Perl Workshop 2011](https://reader031.vdocuments.net/reader031/viewer/2022020723/54829298b07959570c8b480c/html5/thumbnails/18.jpg)
Come cercare aiuto
martedì 6 settembre 2011
![Page 19: Perl101 - Italian Perl Workshop 2011](https://reader031.vdocuments.net/reader031/viewer/2022020723/54829298b07959570c8b480c/html5/thumbnails/19.jpg)
perldoc
martedì 6 settembre 2011
![Page 21: Perl101 - Italian Perl Workshop 2011](https://reader031.vdocuments.net/reader031/viewer/2022020723/54829298b07959570c8b480c/html5/thumbnails/21.jpg)
#perl.it
martedì 6 settembre 2011
![Page 23: Perl101 - Italian Perl Workshop 2011](https://reader031.vdocuments.net/reader031/viewer/2022020723/54829298b07959570c8b480c/html5/thumbnails/23.jpg)
Bibliografia ::
martedì 6 settembre 2011
![Page 24: Perl101 - Italian Perl Workshop 2011](https://reader031.vdocuments.net/reader031/viewer/2022020723/54829298b07959570c8b480c/html5/thumbnails/24.jpg)
Bibliografia ::Programming PerlLarry Wall et al.Oreilly, 1995
martedì 6 settembre 2011
![Page 25: Perl101 - Italian Perl Workshop 2011](https://reader031.vdocuments.net/reader031/viewer/2022020723/54829298b07959570c8b480c/html5/thumbnails/25.jpg)
Bibliografia ::Modern PerlchromaticOnyx Neon, 2010http://onyxneon.com/books/modern_perl/
martedì 6 settembre 2011
![Page 26: Perl101 - Italian Perl Workshop 2011](https://reader031.vdocuments.net/reader031/viewer/2022020723/54829298b07959570c8b480c/html5/thumbnails/26.jpg)
Bibliografia ::Pocket PerlStefano RodighieroApogeo, 2008
martedì 6 settembre 2011
![Page 27: Perl101 - Italian Perl Workshop 2011](https://reader031.vdocuments.net/reader031/viewer/2022020723/54829298b07959570c8b480c/html5/thumbnails/27.jpg)
Variabili ::
martedì 6 settembre 2011
![Page 28: Perl101 - Italian Perl Workshop 2011](https://reader031.vdocuments.net/reader031/viewer/2022020723/54829298b07959570c8b480c/html5/thumbnails/28.jpg)
$
martedì 6 settembre 2011
![Page 29: Perl101 - Italian Perl Workshop 2011](https://reader031.vdocuments.net/reader031/viewer/2022020723/54829298b07959570c8b480c/html5/thumbnails/29.jpg)
ScalariUn valore singoloNumeri e stringhe di caratteri
martedì 6 settembre 2011
![Page 30: Perl101 - Italian Perl Workshop 2011](https://reader031.vdocuments.net/reader031/viewer/2022020723/54829298b07959570c8b480c/html5/thumbnails/30.jpg)
@
martedì 6 settembre 2011
![Page 31: Perl101 - Italian Perl Workshop 2011](https://reader031.vdocuments.net/reader031/viewer/2022020723/54829298b07959570c8b480c/html5/thumbnails/31.jpg)
ArrayUn insieme ordinato di valori scalari
martedì 6 settembre 2011
![Page 32: Perl101 - Italian Perl Workshop 2011](https://reader031.vdocuments.net/reader031/viewer/2022020723/54829298b07959570c8b480c/html5/thumbnails/32.jpg)
%
martedì 6 settembre 2011
![Page 33: Perl101 - Italian Perl Workshop 2011](https://reader031.vdocuments.net/reader031/viewer/2022020723/54829298b07959570c8b480c/html5/thumbnails/33.jpg)
HashUn insieme (non ordinato)di coppie chiave-valore scalareFondamentale!
martedì 6 settembre 2011
![Page 34: Perl101 - Italian Perl Workshop 2011](https://reader031.vdocuments.net/reader031/viewer/2022020723/54829298b07959570c8b480c/html5/thumbnails/34.jpg)
Documentazioneperldataperlop
martedì 6 settembre 2011
![Page 35: Perl101 - Italian Perl Workshop 2011](https://reader031.vdocuments.net/reader031/viewer/2022020723/54829298b07959570c8b480c/html5/thumbnails/35.jpg)
Esercizi
https://github.com/larsen/perl101
martedì 6 settembre 2011
![Page 36: Perl101 - Italian Perl Workshop 2011](https://reader031.vdocuments.net/reader031/viewer/2022020723/54829298b07959570c8b480c/html5/thumbnails/36.jpg)
Riferimenti e strutture dati ::
martedì 6 settembre 2011
![Page 37: Perl101 - Italian Perl Workshop 2011](https://reader031.vdocuments.net/reader031/viewer/2022020723/54829298b07959570c8b480c/html5/thumbnails/37.jpg)
Riferimenti e strutture dati ::Una questione in sospeso...
martedì 6 settembre 2011
![Page 38: Perl101 - Italian Perl Workshop 2011](https://reader031.vdocuments.net/reader031/viewer/2022020723/54829298b07959570c8b480c/html5/thumbnails/38.jpg)
Riferimenti e strutture dati ::Una questione in sospeso...
martedì 6 settembre 2011
![Page 39: Perl101 - Italian Perl Workshop 2011](https://reader031.vdocuments.net/reader031/viewer/2022020723/54829298b07959570c8b480c/html5/thumbnails/39.jpg)
use feature 'say';
# É esattamente equivalente a questo
my @array = (1, 2, 3, 4, 5, 6);say $array[1];
# Come si fa allora un array di array?# Lo vediamo piu` tardi...
martedì 6 settembre 2011
![Page 40: Perl101 - Italian Perl Workshop 2011](https://reader031.vdocuments.net/reader031/viewer/2022020723/54829298b07959570c8b480c/html5/thumbnails/40.jpg)
Uno scalare può contenere:
martedì 6 settembre 2011
![Page 41: Perl101 - Italian Perl Workshop 2011](https://reader031.vdocuments.net/reader031/viewer/2022020723/54829298b07959570c8b480c/html5/thumbnails/41.jpg)
Un numero.
martedì 6 settembre 2011
![Page 42: Perl101 - Italian Perl Workshop 2011](https://reader031.vdocuments.net/reader031/viewer/2022020723/54829298b07959570c8b480c/html5/thumbnails/42.jpg)
Una stringa.
martedì 6 settembre 2011
![Page 43: Perl101 - Italian Perl Workshop 2011](https://reader031.vdocuments.net/reader031/viewer/2022020723/54829298b07959570c8b480c/html5/thumbnails/43.jpg)
Un riferimentoad un'altravariabile.
martedì 6 settembre 2011
![Page 44: Perl101 - Italian Perl Workshop 2011](https://reader031.vdocuments.net/reader031/viewer/2022020723/54829298b07959570c8b480c/html5/thumbnails/44.jpg)
my @array = (1, 2, 3, 4, 5, 6);
martedì 6 settembre 2011
![Page 45: Perl101 - Italian Perl Workshop 2011](https://reader031.vdocuments.net/reader031/viewer/2022020723/54829298b07959570c8b480c/html5/thumbnails/45.jpg)
my @array = ((1, 2, 3), (4, 5, 6));
martedì 6 settembre 2011
![Page 46: Perl101 - Italian Perl Workshop 2011](https://reader031.vdocuments.net/reader031/viewer/2022020723/54829298b07959570c8b480c/html5/thumbnails/46.jpg)
my @array = ((1, 2, 3), (4, 5, 6));
@array
1
2
3
4
5
6
martedì 6 settembre 2011
![Page 47: Perl101 - Italian Perl Workshop 2011](https://reader031.vdocuments.net/reader031/viewer/2022020723/54829298b07959570c8b480c/html5/thumbnails/47.jpg)
my @array = ((1, 2, 3), (4, 5, 6));
•
4
5
6
1
2
3
@array
martedì 6 settembre 2011
![Page 48: Perl101 - Italian Perl Workshop 2011](https://reader031.vdocuments.net/reader031/viewer/2022020723/54829298b07959570c8b480c/html5/thumbnails/48.jpg)
•
•
1
2
3
@array
4
5
6
my @array = ((1, 2, 3), (4, 5, 6));
martedì 6 settembre 2011
![Page 49: Perl101 - Italian Perl Workshop 2011](https://reader031.vdocuments.net/reader031/viewer/2022020723/54829298b07959570c8b480c/html5/thumbnails/49.jpg)
•
•
1
2
3
@array
4
5
6
my @array = ([1, 2, 3], [4, 5, 6]);
martedì 6 settembre 2011
![Page 50: Perl101 - Italian Perl Workshop 2011](https://reader031.vdocuments.net/reader031/viewer/2022020723/54829298b07959570c8b480c/html5/thumbnails/50.jpg)
Documentazioneperlrefperlreftutperldscperllol
martedì 6 settembre 2011
![Page 51: Perl101 - Italian Perl Workshop 2011](https://reader031.vdocuments.net/reader031/viewer/2022020723/54829298b07959570c8b480c/html5/thumbnails/51.jpg)
Esercizi
https://github.com/larsen/perl101
martedì 6 settembre 2011
![Page 52: Perl101 - Italian Perl Workshop 2011](https://reader031.vdocuments.net/reader031/viewer/2022020723/54829298b07959570c8b480c/html5/thumbnails/52.jpg)
Subroutine ::
martedì 6 settembre 2011
![Page 53: Perl101 - Italian Perl Workshop 2011](https://reader031.vdocuments.net/reader031/viewer/2022020723/54829298b07959570c8b480c/html5/thumbnails/53.jpg)
Subroutine ::Codice riusabile (Don't repeat yourself: DRY)Strumento di astrazioneConfigurabilità del comportamento
martedì 6 settembre 2011
![Page 54: Perl101 - Italian Perl Workshop 2011](https://reader031.vdocuments.net/reader031/viewer/2022020723/54829298b07959570c8b480c/html5/thumbnails/54.jpg)
Documentazioneperlsub
martedì 6 settembre 2011
![Page 55: Perl101 - Italian Perl Workshop 2011](https://reader031.vdocuments.net/reader031/viewer/2022020723/54829298b07959570c8b480c/html5/thumbnails/55.jpg)
Esercizi
https://github.com/larsen/perl101
martedì 6 settembre 2011
![Page 56: Perl101 - Italian Perl Workshop 2011](https://reader031.vdocuments.net/reader031/viewer/2022020723/54829298b07959570c8b480c/html5/thumbnails/56.jpg)
Controllodel flusso ::
martedì 6 settembre 2011
![Page 57: Perl101 - Italian Perl Workshop 2011](https://reader031.vdocuments.net/reader031/viewer/2022020723/54829298b07959570c8b480c/html5/thumbnails/57.jpg)
Esecuzionecondizionale ::
martedì 6 settembre 2011
![Page 58: Perl101 - Italian Perl Workshop 2011](https://reader031.vdocuments.net/reader031/viewer/2022020723/54829298b07959570c8b480c/html5/thumbnails/58.jpg)
if ... elsif ... else
martedì 6 settembre 2011
![Page 59: Perl101 - Italian Perl Workshop 2011](https://reader031.vdocuments.net/reader031/viewer/2022020723/54829298b07959570c8b480c/html5/thumbnails/59.jpg)
if (EXPR) BLOCK
martedì 6 settembre 2011
![Page 60: Perl101 - Italian Perl Workshop 2011](https://reader031.vdocuments.net/reader031/viewer/2022020723/54829298b07959570c8b480c/html5/thumbnails/60.jpg)
if (EXPR) BLOCKUn'espre
ssione,
che viene valu
tata
in contesto
booleano.
martedì 6 settembre 2011
![Page 61: Perl101 - Italian Perl Workshop 2011](https://reader031.vdocuments.net/reader031/viewer/2022020723/54829298b07959570c8b480c/html5/thumbnails/61.jpg)
Un'espressione
,
che viene valu
tata
in contesto
booleano.
Falso0 (il numero zero)'' (la stringa vuota)'0' (una stringa che contiene il singolocarattere corrispondente alla cifra zero)undef
martedì 6 settembre 2011
![Page 62: Perl101 - Italian Perl Workshop 2011](https://reader031.vdocuments.net/reader031/viewer/2022020723/54829298b07959570c8b480c/html5/thumbnails/62.jpg)
Un'espressione
,
che viene valu
tata
in contesto
booleano.
VeroTutto il resto
martedì 6 settembre 2011
![Page 63: Perl101 - Italian Perl Workshop 2011](https://reader031.vdocuments.net/reader031/viewer/2022020723/54829298b07959570c8b480c/html5/thumbnails/63.jpg)
if (EXPR) BLOCKUn'espre
ssione,
che viene valu
tata
in contesto
booleano.
Un insieme diistruzioni, delimitateda graffe.martedì 6 settembre 2011
![Page 64: Perl101 - Italian Perl Workshop 2011](https://reader031.vdocuments.net/reader031/viewer/2022020723/54829298b07959570c8b480c/html5/thumbnails/64.jpg)
if (EXPR) BLOCK
martedì 6 settembre 2011
![Page 65: Perl101 - Italian Perl Workshop 2011](https://reader031.vdocuments.net/reader031/viewer/2022020723/54829298b07959570c8b480c/html5/thumbnails/65.jpg)
if (EXPR) BLOCKelse BLOCK
martedì 6 settembre 2011
![Page 66: Perl101 - Italian Perl Workshop 2011](https://reader031.vdocuments.net/reader031/viewer/2022020723/54829298b07959570c8b480c/html5/thumbnails/66.jpg)
if (EXPR) BLOCKelsif (EXPR) BLOCKelse BLOCK
martedì 6 settembre 2011
![Page 67: Perl101 - Italian Perl Workshop 2011](https://reader031.vdocuments.net/reader031/viewer/2022020723/54829298b07959570c8b480c/html5/thumbnails/67.jpg)
if (EXPR) BLOCKelsif (EXPR) BLOCKelse BLOCK
martedì 6 settembre 2011
![Page 68: Perl101 - Italian Perl Workshop 2011](https://reader031.vdocuments.net/reader031/viewer/2022020723/54829298b07959570c8b480c/html5/thumbnails/68.jpg)
given ... when
martedì 6 settembre 2011
![Page 69: Perl101 - Italian Perl Workshop 2011](https://reader031.vdocuments.net/reader031/viewer/2022020723/54829298b07959570c8b480c/html5/thumbnails/69.jpg)
Come switch e case in altrilinguaggi
martedì 6 settembre 2011
![Page 70: Perl101 - Italian Perl Workshop 2011](https://reader031.vdocuments.net/reader031/viewer/2022020723/54829298b07959570c8b480c/html5/thumbnails/70.jpg)
given (EXPR) { when (EXPR) BLOCK ... default BLOCK}
martedì 6 settembre 2011
![Page 71: Perl101 - Italian Perl Workshop 2011](https://reader031.vdocuments.net/reader031/viewer/2022020723/54829298b07959570c8b480c/html5/thumbnails/71.jpg)
given (EXPR) { when (EXPR) BLOCK ... default BLOCK}
martedì 6 settembre 2011
![Page 72: Perl101 - Italian Perl Workshop 2011](https://reader031.vdocuments.net/reader031/viewer/2022020723/54829298b07959570c8b480c/html5/thumbnails/72.jpg)
given (EXPR) { when (EXPR) BLOCK ... default BLOCK}
martedì 6 settembre 2011
![Page 73: Perl101 - Italian Perl Workshop 2011](https://reader031.vdocuments.net/reader031/viewer/2022020723/54829298b07959570c8b480c/html5/thumbnails/73.jpg)
given (EXPR) { when (EXPR) BLOCK ... default BLOCK}
martedì 6 settembre 2011
![Page 74: Perl101 - Italian Perl Workshop 2011](https://reader031.vdocuments.net/reader031/viewer/2022020723/54829298b07959570c8b480c/html5/thumbnails/74.jpg)
Modificatoridi statement ::
martedì 6 settembre 2011
![Page 75: Perl101 - Italian Perl Workshop 2011](https://reader031.vdocuments.net/reader031/viewer/2022020723/54829298b07959570c8b480c/html5/thumbnails/75.jpg)
... if EXPR;
... unless EXPR;
... while EXPR;
... until EXPR;
... foreach EXPR;
martedì 6 settembre 2011
![Page 76: Perl101 - Italian Perl Workshop 2011](https://reader031.vdocuments.net/reader031/viewer/2022020723/54829298b07959570c8b480c/html5/thumbnails/76.jpg)
Iterazione ::
martedì 6 settembre 2011
![Page 77: Perl101 - Italian Perl Workshop 2011](https://reader031.vdocuments.net/reader031/viewer/2022020723/54829298b07959570c8b480c/html5/thumbnails/77.jpg)
for / foreach
martedì 6 settembre 2011
![Page 78: Perl101 - Italian Perl Workshop 2011](https://reader031.vdocuments.net/reader031/viewer/2022020723/54829298b07959570c8b480c/html5/thumbnails/78.jpg)
foreach (LIST) BLOCK
martedì 6 settembre 2011
![Page 79: Perl101 - Italian Perl Workshop 2011](https://reader031.vdocuments.net/reader031/viewer/2022020723/54829298b07959570c8b480c/html5/thumbnails/79.jpg)
foreach (LIST) BLOCK
martedì 6 settembre 2011
![Page 80: Perl101 - Italian Perl Workshop 2011](https://reader031.vdocuments.net/reader031/viewer/2022020723/54829298b07959570c8b480c/html5/thumbnails/80.jpg)
foreach (LIST) BLOCK
La lista dei v
alori
sui quali ciclare
martedì 6 settembre 2011
![Page 81: Perl101 - Italian Perl Workshop 2011](https://reader031.vdocuments.net/reader031/viewer/2022020723/54829298b07959570c8b480c/html5/thumbnails/81.jpg)
foreach (LIST) BLOCK
La lista dei v
alori
sui quali ciclare
Un insieme diistruzioni, delimitateda graffe.
martedì 6 settembre 2011
![Page 82: Perl101 - Italian Perl Workshop 2011](https://reader031.vdocuments.net/reader031/viewer/2022020723/54829298b07959570c8b480c/html5/thumbnails/82.jpg)
foreach (LIST) BLOCK
La lista dei v
alori
sui quali ciclare
Un insieme diistruzioni, delimitateda graffe.All'interno del blocco, il singolo elemento è $_
martedì 6 settembre 2011
![Page 83: Perl101 - Italian Perl Workshop 2011](https://reader031.vdocuments.net/reader031/viewer/2022020723/54829298b07959570c8b480c/html5/thumbnails/83.jpg)
foreach my $var (LIST) BLOCK
martedì 6 settembre 2011
![Page 84: Perl101 - Italian Perl Workshop 2011](https://reader031.vdocuments.net/reader031/viewer/2022020723/54829298b07959570c8b480c/html5/thumbnails/84.jpg)
All'interno del blocco è tipicousare ulteriori istruzioni per il controllo di flusso
martedì 6 settembre 2011
![Page 85: Perl101 - Italian Perl Workshop 2011](https://reader031.vdocuments.net/reader031/viewer/2022020723/54829298b07959570c8b480c/html5/thumbnails/85.jpg)
next
martedì 6 settembre 2011
![Page 86: Perl101 - Italian Perl Workshop 2011](https://reader031.vdocuments.net/reader031/viewer/2022020723/54829298b07959570c8b480c/html5/thumbnails/86.jpg)
redo
martedì 6 settembre 2011
![Page 87: Perl101 - Italian Perl Workshop 2011](https://reader031.vdocuments.net/reader031/viewer/2022020723/54829298b07959570c8b480c/html5/thumbnails/87.jpg)
last
martedì 6 settembre 2011
![Page 88: Perl101 - Italian Perl Workshop 2011](https://reader031.vdocuments.net/reader031/viewer/2022020723/54829298b07959570c8b480c/html5/thumbnails/88.jpg)
while
martedì 6 settembre 2011
![Page 89: Perl101 - Italian Perl Workshop 2011](https://reader031.vdocuments.net/reader031/viewer/2022020723/54829298b07959570c8b480c/html5/thumbnails/89.jpg)
while (EXPR) BLOCK
martedì 6 settembre 2011
![Page 90: Perl101 - Italian Perl Workshop 2011](https://reader031.vdocuments.net/reader031/viewer/2022020723/54829298b07959570c8b480c/html5/thumbnails/90.jpg)
while (EXPR) BLOCK
L'espression
e
viene valutata in
contesto
booleano
martedì 6 settembre 2011
![Page 91: Perl101 - Italian Perl Workshop 2011](https://reader031.vdocuments.net/reader031/viewer/2022020723/54829298b07959570c8b480c/html5/thumbnails/91.jpg)
while (EXPR) BLOCK
L'espression
e
viene valutata in
contesto
booleano
Il blocco viene eseguito finchè la condizione è veramartedì 6 settembre 2011
![Page 92: Perl101 - Italian Perl Workshop 2011](https://reader031.vdocuments.net/reader031/viewer/2022020723/54829298b07959570c8b480c/html5/thumbnails/92.jpg)
map / grep
martedì 6 settembre 2011
![Page 93: Perl101 - Italian Perl Workshop 2011](https://reader031.vdocuments.net/reader031/viewer/2022020723/54829298b07959570c8b480c/html5/thumbnails/93.jpg)
map BLOCK LISTmap EXPR, LIST
martedì 6 settembre 2011
![Page 94: Perl101 - Italian Perl Workshop 2011](https://reader031.vdocuments.net/reader031/viewer/2022020723/54829298b07959570c8b480c/html5/thumbnails/94.jpg)
map BLOCK LISTmap EXPR, LIST
martedì 6 settembre 2011
![Page 95: Perl101 - Italian Perl Workshop 2011](https://reader031.vdocuments.net/reader031/viewer/2022020723/54829298b07959570c8b480c/html5/thumbnails/95.jpg)
map BLOCK LIST
martedì 6 settembre 2011
![Page 96: Perl101 - Italian Perl Workshop 2011](https://reader031.vdocuments.net/reader031/viewer/2022020723/54829298b07959570c8b480c/html5/thumbnails/96.jpg)
map BLOCK LISTEsegue BLOCK per ciasc
un
elemento di LIST, e restituisce
un'altra lista costituita dal
risultato di ciascuna esecuzione
martedì 6 settembre 2011
![Page 97: Perl101 - Italian Perl Workshop 2011](https://reader031.vdocuments.net/reader031/viewer/2022020723/54829298b07959570c8b480c/html5/thumbnails/97.jpg)
map EXPR, LISTValuta EXPR per ciascu
n elemento
di LIST, e restituisce un'altra
lista costituita dal risu
ltato di
ciascuna valutazione
martedì 6 settembre 2011
![Page 98: Perl101 - Italian Perl Workshop 2011](https://reader031.vdocuments.net/reader031/viewer/2022020723/54829298b07959570c8b480c/html5/thumbnails/98.jpg)
grep BLOCK LISTgrep EXPR, LIST
martedì 6 settembre 2011
![Page 99: Perl101 - Italian Perl Workshop 2011](https://reader031.vdocuments.net/reader031/viewer/2022020723/54829298b07959570c8b480c/html5/thumbnails/99.jpg)
grep BLOCK LISTgrep EXPR, LIST
Valuta BLOCK o EXPR per ciascun
elemento di LIST, e restituisce un'altra
lista costituita dagli ele
menti di LIST
per cui la valutazione ha restituito un
valore vero.
martedì 6 settembre 2011
![Page 100: Perl101 - Italian Perl Workshop 2011](https://reader031.vdocuments.net/reader031/viewer/2022020723/54829298b07959570c8b480c/html5/thumbnails/100.jpg)
Documentazioneperlsyn
martedì 6 settembre 2011
![Page 101: Perl101 - Italian Perl Workshop 2011](https://reader031.vdocuments.net/reader031/viewer/2022020723/54829298b07959570c8b480c/html5/thumbnails/101.jpg)
Esercizi
https://github.com/larsen/perl101
martedì 6 settembre 2011
![Page 102: Perl101 - Italian Perl Workshop 2011](https://reader031.vdocuments.net/reader031/viewer/2022020723/54829298b07959570c8b480c/html5/thumbnails/102.jpg)
I/O ::
martedì 6 settembre 2011
![Page 103: Perl101 - Italian Perl Workshop 2011](https://reader031.vdocuments.net/reader031/viewer/2022020723/54829298b07959570c8b480c/html5/thumbnails/103.jpg)
Lettura da file
martedì 6 settembre 2011
![Page 104: Perl101 - Italian Perl Workshop 2011](https://reader031.vdocuments.net/reader031/viewer/2022020723/54829298b07959570c8b480c/html5/thumbnails/104.jpg)
open my $fh, "<", $filename;
martedì 6 settembre 2011
![Page 105: Perl101 - Italian Perl Workshop 2011](https://reader031.vdocuments.net/reader031/viewer/2022020723/54829298b07959570c8b480c/html5/thumbnails/105.jpg)
open my $fh, "<", $filename;
Il filehandle
martedì 6 settembre 2011
![Page 106: Perl101 - Italian Perl Workshop 2011](https://reader031.vdocuments.net/reader031/viewer/2022020723/54829298b07959570c8b480c/html5/thumbnails/106.jpg)
open my $fh, "<", $filename;
Il filehandle
In che modalità
aprire il file?
martedì 6 settembre 2011
![Page 107: Perl101 - Italian Perl Workshop 2011](https://reader031.vdocuments.net/reader031/viewer/2022020723/54829298b07959570c8b480c/html5/thumbnails/107.jpg)
open my $fh, "<", $filename;
Il filehandle
In che modalità
aprire il file?
Il nom
e del
file
martedì 6 settembre 2011
![Page 108: Perl101 - Italian Perl Workshop 2011](https://reader031.vdocuments.net/reader031/viewer/2022020723/54829298b07959570c8b480c/html5/thumbnails/108.jpg)
Modalità di apertura
martedì 6 settembre 2011
![Page 109: Perl101 - Italian Perl Workshop 2011](https://reader031.vdocuments.net/reader031/viewer/2022020723/54829298b07959570c8b480c/html5/thumbnails/109.jpg)
< Lettura
> Scrittura
>> Append
+< Read/write
+> Write/read (se il file esiste lo tronca
martedì 6 settembre 2011
![Page 110: Perl101 - Italian Perl Workshop 2011](https://reader031.vdocuments.net/reader031/viewer/2022020723/54829298b07959570c8b480c/html5/thumbnails/110.jpg)
my $line = <$fh>;
martedì 6 settembre 2011
![Page 111: Perl101 - Italian Perl Workshop 2011](https://reader031.vdocuments.net/reader031/viewer/2022020723/54829298b07959570c8b480c/html5/thumbnails/111.jpg)
my $line = <>;
Forma abbreviata,
legge da STDIN
martedì 6 settembre 2011
![Page 112: Perl101 - Italian Perl Workshop 2011](https://reader031.vdocuments.net/reader031/viewer/2022020723/54829298b07959570c8b480c/html5/thumbnails/112.jpg)
my $line = <DATA>;
Forma speciale,
legge dal
filehandle DATA
martedì 6 settembre 2011
![Page 113: Perl101 - Italian Perl Workshop 2011](https://reader031.vdocuments.net/reader031/viewer/2022020723/54829298b07959570c8b480c/html5/thumbnails/113.jpg)
close $fh;
martedì 6 settembre 2011
![Page 114: Perl101 - Italian Perl Workshop 2011](https://reader031.vdocuments.net/reader031/viewer/2022020723/54829298b07959570c8b480c/html5/thumbnails/114.jpg)
Documentazioneperlfunc (perldoc -f ...)perlopentut
martedì 6 settembre 2011
![Page 115: Perl101 - Italian Perl Workshop 2011](https://reader031.vdocuments.net/reader031/viewer/2022020723/54829298b07959570c8b480c/html5/thumbnails/115.jpg)
Esercizi
https://github.com/larsen/perl101
martedì 6 settembre 2011
![Page 116: Perl101 - Italian Perl Workshop 2011](https://reader031.vdocuments.net/reader031/viewer/2022020723/54829298b07959570c8b480c/html5/thumbnails/116.jpg)
Espressioniregolari ::
martedì 6 settembre 2011
![Page 117: Perl101 - Italian Perl Workshop 2011](https://reader031.vdocuments.net/reader031/viewer/2022020723/54829298b07959570c8b480c/html5/thumbnails/117.jpg)
Un linguaggio dentro il linguaggio.
martedì 6 settembre 2011
![Page 118: Perl101 - Italian Perl Workshop 2011](https://reader031.vdocuments.net/reader031/viewer/2022020723/54829298b07959570c8b480c/html5/thumbnails/118.jpg)
Espressioni regolariUna maniera per esprimere insiemi di stringhe di caratteriRiconoscimento di formatiManipolazione del testo
martedì 6 settembre 2011
![Page 119: Perl101 - Italian Perl Workshop 2011](https://reader031.vdocuments.net/reader031/viewer/2022020723/54829298b07959570c8b480c/html5/thumbnails/119.jpg)
/foo/
martedì 6 settembre 2011
![Page 120: Perl101 - Italian Perl Workshop 2011](https://reader031.vdocuments.net/reader031/viewer/2022020723/54829298b07959570c8b480c/html5/thumbnails/120.jpg)
foo
martedì 6 settembre 2011
![Page 121: Perl101 - Italian Perl Workshop 2011](https://reader031.vdocuments.net/reader031/viewer/2022020723/54829298b07959570c8b480c/html5/thumbnails/121.jpg)
foo bar foo baz
martedì 6 settembre 2011
![Page 122: Perl101 - Italian Perl Workshop 2011](https://reader031.vdocuments.net/reader031/viewer/2022020723/54829298b07959570c8b480c/html5/thumbnails/122.jpg)
bar foo bazfoo
martedì 6 settembre 2011
![Page 123: Perl101 - Italian Perl Workshop 2011](https://reader031.vdocuments.net/reader031/viewer/2022020723/54829298b07959570c8b480c/html5/thumbnails/123.jpg)
bar foo bazfoo
martedì 6 settembre 2011
![Page 124: Perl101 - Italian Perl Workshop 2011](https://reader031.vdocuments.net/reader031/viewer/2022020723/54829298b07959570c8b480c/html5/thumbnails/124.jpg)
bar foo bazfoo
martedì 6 settembre 2011
![Page 125: Perl101 - Italian Perl Workshop 2011](https://reader031.vdocuments.net/reader031/viewer/2022020723/54829298b07959570c8b480c/html5/thumbnails/125.jpg)
bar foo bazfoo
martedì 6 settembre 2011
![Page 126: Perl101 - Italian Perl Workshop 2011](https://reader031.vdocuments.net/reader031/viewer/2022020723/54829298b07959570c8b480c/html5/thumbnails/126.jpg)
bar foo bazfoo
martedì 6 settembre 2011
![Page 127: Perl101 - Italian Perl Workshop 2011](https://reader031.vdocuments.net/reader031/viewer/2022020723/54829298b07959570c8b480c/html5/thumbnails/127.jpg)
Documentazioneperlreperlreref
martedì 6 settembre 2011
![Page 128: Perl101 - Italian Perl Workshop 2011](https://reader031.vdocuments.net/reader031/viewer/2022020723/54829298b07959570c8b480c/html5/thumbnails/128.jpg)
Esercizi
https://github.com/larsen/perl101
martedì 6 settembre 2011
![Page 129: Perl101 - Italian Perl Workshop 2011](https://reader031.vdocuments.net/reader031/viewer/2022020723/54829298b07959570c8b480c/html5/thumbnails/129.jpg)
Moduli ::
martedì 6 settembre 2011
![Page 130: Perl101 - Italian Perl Workshop 2011](https://reader031.vdocuments.net/reader031/viewer/2022020723/54829298b07959570c8b480c/html5/thumbnails/130.jpg)
Insieme alle subroutine, ulteriore strumento di astrazione
martedì 6 settembre 2011
![Page 131: Perl101 - Italian Perl Workshop 2011](https://reader031.vdocuments.net/reader031/viewer/2022020723/54829298b07959570c8b480c/html5/thumbnails/131.jpg)
Documentazioneperlmod
martedì 6 settembre 2011
![Page 132: Perl101 - Italian Perl Workshop 2011](https://reader031.vdocuments.net/reader031/viewer/2022020723/54829298b07959570c8b480c/html5/thumbnails/132.jpg)
Esercizi
https://github.com/larsen/perl101
martedì 6 settembre 2011
![Page 133: Perl101 - Italian Perl Workshop 2011](https://reader031.vdocuments.net/reader031/viewer/2022020723/54829298b07959570c8b480c/html5/thumbnails/133.jpg)
Ulteriori cenni su strict
martedì 6 settembre 2011
![Page 134: Perl101 - Italian Perl Workshop 2011](https://reader031.vdocuments.net/reader031/viewer/2022020723/54829298b07959570c8b480c/html5/thumbnails/134.jpg)
Quando è che strict si lamenta per le variabili?
martedì 6 settembre 2011
![Page 135: Perl101 - Italian Perl Workshop 2011](https://reader031.vdocuments.net/reader031/viewer/2022020723/54829298b07959570c8b480c/html5/thumbnails/135.jpg)
1.
martedì 6 settembre 2011
![Page 136: Perl101 - Italian Perl Workshop 2011](https://reader031.vdocuments.net/reader031/viewer/2022020723/54829298b07959570c8b480c/html5/thumbnails/136.jpg)
La variabile non è completamente qualificata.
martedì 6 settembre 2011
![Page 137: Perl101 - Italian Perl Workshop 2011](https://reader031.vdocuments.net/reader031/viewer/2022020723/54829298b07959570c8b480c/html5/thumbnails/137.jpg)
2.
martedì 6 settembre 2011
![Page 138: Perl101 - Italian Perl Workshop 2011](https://reader031.vdocuments.net/reader031/viewer/2022020723/54829298b07959570c8b480c/html5/thumbnails/138.jpg)
Non è una variabile lessicale precedentemente definita.
martedì 6 settembre 2011
![Page 139: Perl101 - Italian Perl Workshop 2011](https://reader031.vdocuments.net/reader031/viewer/2022020723/54829298b07959570c8b480c/html5/thumbnails/139.jpg)
3.
martedì 6 settembre 2011
![Page 140: Perl101 - Italian Perl Workshop 2011](https://reader031.vdocuments.net/reader031/viewer/2022020723/54829298b07959570c8b480c/html5/thumbnails/140.jpg)
Non è una variabile package precedentemente definita con vars.
martedì 6 settembre 2011
![Page 141: Perl101 - Italian Perl Workshop 2011](https://reader031.vdocuments.net/reader031/viewer/2022020723/54829298b07959570c8b480c/html5/thumbnails/141.jpg)
OOP ::
martedì 6 settembre 2011
![Page 142: Perl101 - Italian Perl Workshop 2011](https://reader031.vdocuments.net/reader031/viewer/2022020723/54829298b07959570c8b480c/html5/thumbnails/142.jpg)
Inizialmente non integrata nel linguaggio.
martedì 6 settembre 2011
![Page 143: Perl101 - Italian Perl Workshop 2011](https://reader031.vdocuments.net/reader031/viewer/2022020723/54829298b07959570c8b480c/html5/thumbnails/143.jpg)
Perl 5Oggetti (package, bless, ...)
martedì 6 settembre 2011
![Page 144: Perl101 - Italian Perl Workshop 2011](https://reader031.vdocuments.net/reader031/viewer/2022020723/54829298b07959570c8b480c/html5/thumbnails/144.jpg)
1. Una classe è un package
martedì 6 settembre 2011
![Page 145: Perl101 - Italian Perl Workshop 2011](https://reader031.vdocuments.net/reader031/viewer/2022020723/54829298b07959570c8b480c/html5/thumbnails/145.jpg)
2. Un metodo è una subroutine
martedì 6 settembre 2011
![Page 146: Perl101 - Italian Perl Workshop 2011](https://reader031.vdocuments.net/reader031/viewer/2022020723/54829298b07959570c8b480c/html5/thumbnails/146.jpg)
3. Un oggetto è un riferimento blessed
martedì 6 settembre 2011
![Page 147: Perl101 - Italian Perl Workshop 2011](https://reader031.vdocuments.net/reader031/viewer/2022020723/54829298b07959570c8b480c/html5/thumbnails/147.jpg)
2000Damian Conway, «Object Oriented Perl» – Manning
martedì 6 settembre 2011
![Page 148: Perl101 - Italian Perl Workshop 2011](https://reader031.vdocuments.net/reader031/viewer/2022020723/54829298b07959570c8b480c/html5/thumbnails/148.jpg)
2006Moose
martedì 6 settembre 2011
![Page 149: Perl101 - Italian Perl Workshop 2011](https://reader031.vdocuments.net/reader031/viewer/2022020723/54829298b07959570c8b480c/html5/thumbnails/149.jpg)
Moose::
martedì 6 settembre 2011
![Page 150: Perl101 - Italian Perl Workshop 2011](https://reader031.vdocuments.net/reader031/viewer/2022020723/54829298b07959570c8b480c/html5/thumbnails/150.jpg)
Modello analogo a quello di Perl 6
martedì 6 settembre 2011
![Page 151: Perl101 - Italian Perl Workshop 2011](https://reader031.vdocuments.net/reader031/viewer/2022020723/54829298b07959570c8b480c/html5/thumbnails/151.jpg)
Implementato in Perl 5
martedì 6 settembre 2011
![Page 152: Perl101 - Italian Perl Workshop 2011](https://reader031.vdocuments.net/reader031/viewer/2022020723/54829298b07959570c8b480c/html5/thumbnails/152.jpg)
Documentazioneperlobjperlbootperltootperltoocperlbot
martedì 6 settembre 2011
![Page 153: Perl101 - Italian Perl Workshop 2011](https://reader031.vdocuments.net/reader031/viewer/2022020723/54829298b07959570c8b480c/html5/thumbnails/153.jpg)
Esercizi
https://github.com/larsen/perl101
martedì 6 settembre 2011
![Page 154: Perl101 - Italian Perl Workshop 2011](https://reader031.vdocuments.net/reader031/viewer/2022020723/54829298b07959570c8b480c/html5/thumbnails/154.jpg)
CPAN ::
martedì 6 settembre 2011
![Page 155: Perl101 - Italian Perl Workshop 2011](https://reader031.vdocuments.net/reader031/viewer/2022020723/54829298b07959570c8b480c/html5/thumbnails/155.jpg)
search.cpan.org
martedì 6 settembre 2011
![Page 156: Perl101 - Italian Perl Workshop 2011](https://reader031.vdocuments.net/reader031/viewer/2022020723/54829298b07959570c8b480c/html5/thumbnails/156.jpg)
$ perl -MCPAN -e shell
martedì 6 settembre 2011
![Page 157: Perl101 - Italian Perl Workshop 2011](https://reader031.vdocuments.net/reader031/viewer/2022020723/54829298b07959570c8b480c/html5/thumbnails/157.jpg)
$ cpan
martedì 6 settembre 2011
![Page 158: Perl101 - Italian Perl Workshop 2011](https://reader031.vdocuments.net/reader031/viewer/2022020723/54829298b07959570c8b480c/html5/thumbnails/158.jpg)
Qualche modulo utile
martedì 6 settembre 2011
![Page 159: Perl101 - Italian Perl Workshop 2011](https://reader031.vdocuments.net/reader031/viewer/2022020723/54829298b07959570c8b480c/html5/thumbnails/159.jpg)
DBI
martedì 6 settembre 2011
![Page 160: Perl101 - Italian Perl Workshop 2011](https://reader031.vdocuments.net/reader031/viewer/2022020723/54829298b07959570c8b480c/html5/thumbnails/160.jpg)
DBIx::Class
martedì 6 settembre 2011
![Page 161: Perl101 - Italian Perl Workshop 2011](https://reader031.vdocuments.net/reader031/viewer/2022020723/54829298b07959570c8b480c/html5/thumbnails/161.jpg)
Template
martedì 6 settembre 2011
![Page 162: Perl101 - Italian Perl Workshop 2011](https://reader031.vdocuments.net/reader031/viewer/2022020723/54829298b07959570c8b480c/html5/thumbnails/162.jpg)
Getopt::Long
martedì 6 settembre 2011
![Page 163: Perl101 - Italian Perl Workshop 2011](https://reader031.vdocuments.net/reader031/viewer/2022020723/54829298b07959570c8b480c/html5/thumbnails/163.jpg)
DateTime
martedì 6 settembre 2011
![Page 164: Perl101 - Italian Perl Workshop 2011](https://reader031.vdocuments.net/reader031/viewer/2022020723/54829298b07959570c8b480c/html5/thumbnails/164.jpg)
Regexp::Common
martedì 6 settembre 2011
![Page 165: Perl101 - Italian Perl Workshop 2011](https://reader031.vdocuments.net/reader031/viewer/2022020723/54829298b07959570c8b480c/html5/thumbnails/165.jpg)
HTML::Parser::*
martedì 6 settembre 2011
![Page 166: Perl101 - Italian Perl Workshop 2011](https://reader031.vdocuments.net/reader031/viewer/2022020723/54829298b07959570c8b480c/html5/thumbnails/166.jpg)
XML::LibXML
martedì 6 settembre 2011
![Page 167: Perl101 - Italian Perl Workshop 2011](https://reader031.vdocuments.net/reader031/viewer/2022020723/54829298b07959570c8b480c/html5/thumbnails/167.jpg)
Catalyst
martedì 6 settembre 2011
![Page 168: Perl101 - Italian Perl Workshop 2011](https://reader031.vdocuments.net/reader031/viewer/2022020723/54829298b07959570c8b480c/html5/thumbnails/168.jpg)
Dancer
martedì 6 settembre 2011
![Page 169: Perl101 - Italian Perl Workshop 2011](https://reader031.vdocuments.net/reader031/viewer/2022020723/54829298b07959570c8b480c/html5/thumbnails/169.jpg)
Mojolicious
martedì 6 settembre 2011