Perl lengde funksjonen hjelper validere strenger i et skript. Det tar nøyaktig ett uttrykk og teller antall tegn den har. En vanlig bruk for en lengde funksjon er å sikre at data møter en ønsket lengde , for eksempel når en bruker registrerer et brukernavn og passord . Hvis du prøver å passere to eller flere uttrykk i et kall til funksjonen , returnerer Perl et " for mange argumenter " feil og programmet krasjer. Syntax
Når du bruker lengden funksjonen , starter du ved å skrive "lengde " søkeord , umiddelbart etterfulgt av et uttrykk. I motsetning til i enkelte andre programmeringsspråk , betyr Perl ikke krever at du sette uttrykket i parentes eller anførselstegn , men bør du inkludere disse for å opprettholde lesbarheten av koden og unngå visse feil . For eksempel skriver "lengde Denne strengen returnerer en verdi på 34; . " Returnerer en feil fordi " av " er en annen reservert ord . Omslutter uttrykket i anførselstegn forhindrer denne feilen .
Datatyper
Lengden funksjon aksepterer nesten alle slags datatype og automatisk konverterer den til en streng. For eksempel skriver "lengde ( " Hello "); " returnerer fem fordi uttrykket er en fem -tegns streng. Men å skrive " lengde (sann )," returnerer fire , selv om uttrykket synes å være en boolsk verdi. Likeledes "lengde ( 150 )," eller " lengde ( 2,5 )," både avkastning tre fordi hvert uttrykk er tre tegn, selv om den faktiske typer synes å være et heltall og desimaltall , henholdsvis
Enkel vs Double Quotes
Du kan bruke enten apostrof eller doble anførselstegn sette uttrykket . Men når du bruker apostrof , betyr Perl ikke tolke noen spesielle tegn eller variablene i uttrykket . Hvis du har en variabel kalt " $ var " som har "Hello , world" som verdi , skrive " lengde ( " $ var "); " returnerer 12 mens du skriver "lengde (' $ var '); " bare returnerer fire. Derfor bruker doble anførselstegn er ofte et bedre valg , spesielt hvis du har tenkt å bruke den lengden funksjon for ting som for eksempel brukerundersøkelser lagret i variabler .
Warning
p Hvis du inkluderer ikke et uttrykk med lengden funksjon, betyr det ikke returnere noe. Men hvis du bare inkludere enkle eller doble anførselstegn uten noen tegn, returnerer funksjonen null. Du kan også overføre en matrise som uttrykket , men lengden funksjonen returnerer den kombinerte lengden av medlemmene i matrisen lagt til antall medlemmer. For eksempel en matrise med de tre medlemmene "One ", "To" og " Tre" returnerer en lengde på 14 , 11 for den kombinerte lengden av ordene , pluss tre for de tre medlemmene