Perl/Istruzioni composte: differenze tra le versioni

Contenuto cancellato Contenuto aggiunto
Riga 9:
$a = "testo di prova";
print "risultato della prima print:".
(print join( " " , "inizio seconda print",'$a',"=","$a","fine seconda print\n")).
,'$a'
,"="
,"$a"
,"fine seconda print\n"
)
).
" fine prima print\n";
 
Line 21 ⟶ 27:
La prima riga è una istruzione Minima ed assegna a $a il valore "testo di prova".
 
Dalla seconda riga alla quartadecima riga è una istruzione composta:
 
c'è una "prima" funzione print alla quale gli si chiede di scrivere "risultato della prima print:" seguito da "qualcosa fra parentesi" seguito da " fine prima print\n".
 
Alla terza alla nona riga il "qualcosa fra parentesi" è di nuovo una print alla quale gli si chiede di scrivere una stringa che è il risultato ottenuto dalla funzione join.Alla join si chiede di "giuntare" con spazi le 5 stringhe contenenti "inizio seconda print" '$a' "=" "$a" "fine seconda print\n".

Come per l'algebra , prima di poter procedere occorre "agire" sulle parentesi più interne così il Perl risolve PRIMA le "funzioni" più interne e poi quelle più esterne.
 
Ecco perchè viene mostrata prima le scritte della seconda e poi le scritte della prima.
 
Succede così anche in meccanica : per poter montare un pezzo che ha a sua volta un pezzo interno, occorre montare prima l'oggetto interno e racchiuderlo in quello esterno.
Si può pensare anche alla "matriosca".
 
Nel nostro caso dato che la funzione scrive a video, prima viene scritta la più interna e poi la più esterna.