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 |
|
|
Sub-rotinas no Perl
|
Todos os programas que n�s escrevemos at� que agora ter simplesmente um jogo das instru��es, linha do Perl pela linha. Como toda a outra l�ngua, o Perl permite que n�s escrevam o c�digo no formul�rio modular. Fazer assim a l�ngua deve permitir que o programador reserve sub-rotinas do c�digo de modo que possam re�so. O Perl tamb�m fornece esta caracter�stica.
|
Anotar aqui que muitos povos chamam sub-rotinas do Perl como �fun��es�. Nesta se��o que n�s preferimos usar o termo �funciona� para aquelas sub-rotinas que s�o constru�das no Perl, e �sub-rotinas� para aqueles o c�digo que s�o escritas pelo programador do Perl.
|
Anotar aqui que um usu�rio que as sub-rotinas podem lhe ser usadas wherever � v�lido usando uma fun��o nativa do Perl.
|
Definindo uma sub-rotina
|
N�s n�o queremos nossa sub-rotina nova imprimir a mensagem. Instead, n�s queremo-la retornar a corda da mensagem, e mais tarde em n�s chamamo-los a c�pia nela.
|
use strict;
sub HelloEveryone {
return "Hello everyone.\nWhere do you want to go with Perl today?\n";
}
print &HelloEveryone;
|
|
Usando argumentos nas sub-rotinas
|
Se voc� n�o puder dar a entrada � sub-rotina ent�o que o subrioutine n�o � de muito uso do bom. Conseq�entemente o Perl permite que n�s passem argumentos �s sub-rotinas apenas como fun��es nativas do Perl.
|
O Perl ajusta uma vari�vel de disposi��o especial �@_� no come�o de cada sub-rotina, para ser a lista dos argumentos emitidos � sub-rotina. Por alguma conven��o padr�o, n�s podemos alcan�ar estas vari�veis usando $_ [0. $#_]. Entretanto, � melhor declarar uma lista das vari�veis e atribuir-lhes preferivelmente @ _ imediatamente. Deixar-nos considerar por exemplo, se n�s quisermos cumprimentar o grupo de povos particular, n�s pode fazer o seguinte:
|
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");
|
|
Anotar aqui que desde que n�s estamos em um bloco novo e usamos o meu, as vari�veis que n�s declaramos viver�o contanto que a sub-rotina come�ar executada.
|
Esta sub-rotina deixa um bocado que seja desejado. Seria bom se n�s tiv�ssemos um cumprimento feito sob encomenda, em vez de �Hello�. Al�m, n�s queremos tamb�m cumprimentar tantos como povos enquanto n�s queremos a, e n�o apenas dois. Este c�digo repara estes dois problemas:
|
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");
|
|
Neste exemplo n�s usamos duas t�cnicas interessantes. Firstly, n�s usamos uma lista como o �ltimo par�metro quando n�s aceitamos argumentos. Significa que tudo estar� posto em @names ap�s o primeiro argumento. Anotar aqui que todas as outras vari�veis que sigam @names, remanesceriam undefined. Entretanto, as vari�veis escalares antes da disposi��o (como $greeting) recebem valores fora do @_. Assim, � uma pr�tica boa fazer somente a disposi��o o �ltimo argumento.
|
|
|
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 |
|
|