HTML Tutorials |
|
XML Tutorials |
|
Browser Scripting |
|
Server Scripting |
|
.NET (dotnet) |
|
Multimedia |
|
Web Building |
|
Java Tutorials |
|
Programming Langauges |
|
Soft Skills |
|
Database Tutorials |
|
Operating System |
|
Software Testing |
|
SAP Module |
|
Networking Programming |
|
Microsoft Office |
|
Accounting |
|
|
Sottoprogrammi in Perl
|
Tutti i programmi del Perl che abbiamo scritto finora hanno semplicemente un insieme delle istruzioni, linea dalla linea. Come qualunque altra lingua, il Perl permette che noi scriviamo il codice nella forma modulare. Fare cos� la lingua dovrebbe permettere che il programmatore metta i sottoprogrammi da parte del codice in moda da poterli riutilizzare. Il Perl inoltre fornisce questa caratteristica.
|
Notare qui che molta gente denomina i sottoprogrammi del Perl come �funzioni�. In questa sezione che preferiamo usando il termine �funziona� per quei sottoprogrammi che sono sviluppati nel Perl e �i sottoprogrammi� per quelli il codice che sono scritti dal programmatore del Perl.
|
Notare qui che un utente che i sottoprogrammi possono essere usatgi laddove � valido usando una funzione natale del Perl.
|
Definizione del sottoprogramma
|
Non desideriamo il nostro nuovo sottoprogramma stampare il messaggio. Invece, lo desideriamo restituire la serie del messaggio e pi� tardi gli denominiamo la stampa.
|
use strict;
sub HelloEveryone {
return "Hello everyone.\nWhere do you want to go with Perl today?\n";
}
print &HelloEveryone;
|
|
Usando le discussioni nei sottoprogrammi
|
Se non potete dare l'input al sottoprogramma allora che il subrioutine non � utile molto di merce. Di conseguenza il Perl permette che noi passiamo le discussioni ai sottoprogrammi appena come le funzioni natali del Perl.
|
Il Perl regola una variabile di allineamento speciale �@_� all'inizio di ogni sottoprogramma, per essere la lista delle discussioni trasmesse al sottoprogramma. Da una certa convenzione standard, possiamo accedere a queste variabili usando $_ [0. $#_]. Tuttavia, � migliore da dichiarare una lista delle variabili e da assegnare @ _ loro preferibilmente immediatamente. Consideriamo per esempio, se desideriamo greet il gruppo di persone particolare, noi pu� fare quanto segue:
|
use strict;
sub HelloEveryone {
my($name1, $name2) = @_;
return "Hello $name1 and $name2.\n" .
"Where do you want to go with Perl today?\n";
}
print &HelloEveryone("John", "David");
|
|
Notare qui che poich� siamo in un nuovo blocco ed abbiamo usato il mio, le variabili che abbiamo dichiarato vivranno finch� il sottoprogramma ottiene eseguito.
|
Questo sottoprogramma lascia una punta che � voluta. Sarebbe buono se abbiamo un saluto su ordinazione, anzich� �ciao�. In pi�, inoltre desideriamo greet altretanta gente mentre desideriamo a e non appena due. Questo codice ripara questi due problemi:
|
use strict;
sub HelloEveryone {
my($greeting, @names) = @_;
my $returnString;
foreach my $name (@names) {
$returnString .= "$greeting, $name!\n";
}
return $returnString .
"Hey here's VYOM technosoft?\n";
}
print &HowdyEveryone("Hello", "John", "David", "Peter", "George", "Michal");
|
|
In questo esempio abbiamo usato due tecniche interessanti. In primo luogo, usiamo una lista come l'ultimo parametro quando accettiamo le discussioni. Significa che tutto sar� messo nei @names dopo la prima discussione. Notare qui che tutte le altre variabili che hanno seguito i @names, sarebbero rimasto non definite. Tuttavia, le variabili scalari prima dell'allineamento (come $greeting) ricevono i valori da @_. Quindi, � una buona pratica rendere soltanto ad allineamento l'ultima discussione.
|
|
|
Keywords:perl tutorial, perl scripts, perl programming, active perl, perl download,
blackberry perl, perl regular expressions, perl split, perl array, perl script page
|
|
HTML Quizes |
|
XML Quizes |
|
Browser Scripting Quizes |
|
Server Scripting Quizes |
|
.NET (dotnet) Quizes |
|
Multimedia Quizes |
|
Web Building Quizes |
|
Java Quizes |
|
Programming Langauges Quizes |
|
Soft Skills Quizes |
|
Database Quizes |
|
Operating System Quizes |
|
Software Testing Quizes |
|
SAP Module Quizes |
|
Networking Programming Quizes |
|
Microsoft Office Quizes |
|
Accounting Quizes |
|
|