Hvordan bruke etiketter i Perl

Hvordan bruke etiketter i Perl


Perl er en kraftig programmeringsspråk som gjør det mulig for programmereren å ta en høy grad av kontroll over programmet. Etiketter brukes til å hjelpe Perl programmerere organisere programmet. En etikett kan påføres på en løkke eller en bryter. Loops og brytere nestet i den merkede sløyfe kan da ringe tilbake til den bredere struktur uten å legge en oppsigelse unntak til hver bryter og sløyfe underveis. Således kan programmereren hoppe rundt strukturen av koden raskt og enkelt.

Bruksanvisning

1 Lag to matriser som krever spesialisert sortering. Disse matriser vil bli tatt som et eksempel:

@animals = ( 'Black Cats', 'Black Dogs "," melkekyr "," Wild Horses', '' Monkeys ');

@lucky = ( 'Under Ladder "," Black Cats "," sølt Salt', '13');

2 Sorter gjennom navnene med nestede løkker som følger:

@animals = ( 'Black Cats', 'Black Dogs "," melkekyr "," Wild Horses', '' Monkeys ');

@lucky = ( 'Under Ladder "," Black Cats "," sølt Salt', '13');

foreach $ skapning (@animals) {

print "$creature\n";

if ($ skapning = ~ / Black /) {

foreach $ sjarm (@lucky) {

print "\ t $ sjarm \ n";

siste hvis $ sjarm eq $ heldig;

}

}

}

Her søker vi gjennom dyr array for dårlige lykkeamuletter. Loop charms sløyfe lukkes når "Black Cats" er oppstått i begge sløyfer, men det overordnede dyret sløyfe vil fortsette.

3 Sett inn en etikett for å rydde opp i forvirringen:

@animals = ( 'Black Cats', 'Black Dogs "," melkekyr "," Wild Horses', '' Monkeys ');

@lucky = ( 'Under Ladder "," Black Cats "," sølt Salt', '13');

Label: foreach $ skapning (@animals) {

print "$creature\n";

if ($ skapning = ~ / Black /) {

foreach $ sjarm (@lucky) {

print "\ t $ sjarm \ n";

siste etikett hvis $ sjarm eq $ heldig;

}

}

}

Noen navn kan brukes i stedet for "Label". Det må bli etterfulgt av et kolon når det først erklært. Det kan deretter bli kalt hvor som helst innenfor den sløyfe eller bytte den kontrollerer. Ved senere delene av programmet, kan det kalles med "Start etikett."