Hvordan sende parametre til subrutiner i Perl

I motsetning til mange andre programmeringsspråk, når du skriver koden for subrutiner i Perl, trenger du ikke inkludere en liste over parametere at funksjonen godtar. Men hvis du vet at funksjonen vil motta en eller flere parametere, du fortsatt trenger å programmere subrutinen å bruke dem. Eventuelle parametere som sendes til en Perl subrutine er lagret i "@_" array, som er en spesiell liste matrise. Dette betyr i praksis at hver subrutine du oppretter kan godta en rekke parametere, men hvor mange du trenger og hvordan du bruker dem er bestemt av subrutine kode.

Bruksanvisning

1 Åpne et Perl program fil. Skriv inn følgende kode:

sub linje {

$ Var = @_ [0];

}

Denne subrutine bruker "@_" array for å få parametre, men bare gjør bruk av den første. Ringe enten "linje ( 'Hei!');" eller "linje ( 'Hei', 'Hvor er du?');" både print "Hello!" til skjermen.

2 Skriv inn følgende kode:

under addNums {

$ Total = 0;

for ($ i = 0; $ i <@_; $ i ++) {

$ Total = $ total + @_ [$ i];

}

returnere $ totalt;

}

Denne subrutine samtalen gjør bruk av alle parametere som sendes til det, uansett hvor mange finnes. Calling "addNums (2,3);" returnerer fem, "addNums (2,5,3);" returnerer 10 og "addNums (6,2,4,4);" returnerer 16.

3 sub matrise {

local($parOne, $parTwo, $parThree);

($ ParOne, $ parTwo, $ parThree) = ($ _ [0], $ _ [1], $ _ [2]);

skrive ut «Du passert $ parOne, $ parTwo og $ parThree som parametre.";

}

Denne subrutine tar de tre første parametere som sendes til den, og tildeler dem til lokale variabler. Ved hjelp av bestemte variabelnavn i lengre rutiner kan gjøre det lettere å forstå hva hver enkelt er for i stedet for å bruke den generiske @_ array.

4 Lagre Perl program filen og kjør den.