Perl programmer normalt eksisterer som én fil. Brugen og kræver funktioner kan programmer til at indarbejde funktioner og metoder i kolli og bibliotek filer. Disse to kategorier arbejder hovedsagelig på samme måde , men har nogle syntaktiske forskelle i kode . Samlet set funktion, har flere anvendelser end den Kræv funktion. Syntaks
For at køre Kræv funktionen du skriver " kræver " søgeord efterfulgt af Perl versionsnummer eller et udtryk til at angive en fil eller pakke til at omfatte . Hvis du vil køre brugen funktion skal du skrive "brug " søgeord efterfulgt af Perl version, nummer eller ved at skrive " Module" og et modul navn eller en liste af moduler , der er indeholdt i den " QW "-funktion , som returnerer en citerede listen. Syntaktisk , "brug MODULE qw (import liste) ," og "BEGIN { kræve modul, MODUL -> import (import liste) ;} " begge gøre det samme
funktion Call < br . >
En af de største forskelle mellem brug og kræver , er, når Perl kører dem. Perl kører brugen funktion på compile- tid og import pakker og metoder på dette tidspunkt , så eventuelle fejl i koden, når Perl kompilerer programmet er fanget , så du kan løse dem . Perl kører Kræv funktion på run-time , efter udarbejdelse af programmet. Det importerer ikke nogen pakker eller metoder , det bare referencer dem. At rette eventuelle fejl findes her , har du gå tilbage til koden og derefter bygge programmet igen.
Fællestræk
Et af de fælles funktioner i kræve og bruge funktioner er, at de hver muligt at angive en version af Perl , som du vil bruge. Hvis din Perl tolkens version er mindre end den version, du vil bruge, det rejser en undtagelse. Også begge funktioner tjekke % INC hash cache for at se, om en fil eller et modul findes i den. Hvis det er tilfældet , behøver de funktioner ikke indlæse filen eller modulet , fordi programmet allerede har det. Ellers gør de indlæse og gemme navnet nøglen i hash.
Bruger
Begge funktioner er nøgleord i forbindelse med Perl moduler. Men hvis du ikke levere en liste over moduler til at omfatte det garanterer programmets namespace forbliver uændret . Den funktion, bruges også i klasser , objekt- orientering og scoping . Eksempler som "brug streng " eller "brug heltal " tillade en Perl program til at importere semantik fra pseudo- moduler i sektioner , eller blokke af et programs kode snarere end gennem hele programmet. Disse pseudo- moduler kan være slukket . Kræv funktionen kan ikke gøre dette.