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 |
|
|