ohjeita web-sivuston tekijälle
Kuten muutkin ohjelmointikielet Perl sallii käyttäjän määritellä omia funktioitaan, joita kutsutaan alirutiineiksi ( subroutines ). Ne voidaan sijoittaa minne tahansa skriptissä, mutta lienee selkeintä sijoittaa ne joko alkuun tai loppuun. Alirutiinit ovat muotoa:
sub mysubroutine
{
print "Not a very interesting routine\n";
print "This does the same thing every time\n";
}
Kaikki seuraavat kutsuvat tätä alirutiinia:
&mysubroutine; kutsuu alirutiinia &mysubroutine($_); kutsuu alirutiinia parametrilla &mysubroutine(1+2, $_); kutsuu alirutiinia kahdella parametrilla
Edellisessä esimerkissä parametrit ovat hyväksyttäviä, mutta ne jätetään huomiotta. Kutsuttaessa alirutiinia kaikki parametrit välitetään listana matriisissa @_. Tällä muuttujalla ei ole mitään tekemistä skalaarimuuttujan $_:n kanssa. Seuraava alirutiini tulostaa listan niistä parametreista, joilla sitä kutsuttiin.
sub printargs
{
print "@_\n";
}
Kuten minkä tahansa muunkin matriisin tapauksessa, matriisin @_ yksittäisiin elementteihin päästään hakasulkujen avulla:
sub printfirsttwo
{
print "Your first argument was $_[0]\n";
print "and $_[1] was your second\n";
}
Indeksoiduilla skalaareilla $_[0] ja $_[1] jne. Ei ole mitään tekoa skalaarin $_ kanssa.
Alirutiinin tulos on aina viimeinen arvioiotava seikka. Seuraava alirutiini palauttaa kahdesta parametrista suuremman:
sub maximum
{
if ($_[0] $_[1])
{
$_[0];
}
else
{
$_[1];
}
}
&printfirsttwo alirutiini yllä palauttaa myös arvon, tässä tapauksessa numeron 1, koska viimeinen asia, jonka rutiini teki oli print-lause ja onnistuneen-lauseen tulos on aina 1.
Ei kommentteja