Perl programmer vanligvis eksisterer som én fil. Bruk og krever funksjoner gjør at programmer kan innlemme funksjoner og metoder i eksterne pakker og bibliotek filer. Disse to kategorier arbeider stort sett på samme måte , men har noen syntaktiske forskjeller i koden. Samlet har bruk funksjonen flere bruksområder enn den nødvendige funksjonen. Syntax
å kjøre den nødvendige funksjon, skriver du det " krever " søkeord etterfulgt av Perl versjon nummer eller et uttrykk for å angi en fil eller pakke å inkludere. Å kjøre bruken funksjon, skriver du "bruk " søkeord etterfulgt av Perl versjon nummer eller ved å skrive " MODULE " og en modul navn eller liste over moduler som finnes i " qw "-funksjonen , som returnerer en sitert listen. Syntaktisk , "bruk MODULE qw (import liste )," og " BEGIN { krever MODULE ; MODULE - > import (import liste ); }" begge gjør det samme
Function Call
En av de største forskjellene mellom bruk og krever er når Perl kjører dem . Perl kjører bruk funksjonen på kompilering og import pakker og metoder på dette punktet, slik at eventuelle feil som finnes i koden når Perl kompilerer programmet er fanget slik at du kan fikse dem. Perl kjører den nødvendige funksjonen ved kjøring , etter kompilering av programmet. Det importerer ikke alle pakker eller metoder , det bare referanser dem . For å rette opp eventuelle feil funnet her , har du gå tilbake til koden , og deretter bygge programmet på nytt .
Fellestrekk
En av de vanligste funksjonene i krever og bruke funksjonene er at de hver lar deg spesifisere en versjon av Perl som du vil bruke. Hvis Perl tolk versjon er mindre enn den versjonen du vil bruke , reiser det et unntak. Også begge funksjonene sjekke % INC hash cache for å se om en fil eller modul finnes i den. I så fall funksjonene ikke laste inn filen eller modul fordi programmet allerede har det. Ellers legger de og lagre navnet nøkkelen i hasj.
Bruker
Begge funksjonene er søkeord relatert til Perl-moduler . Men hvis du ikke leverer en liste over moduler for å inkludere , garanterer programmets navnerommet forblir uendret. Bruken funksjonen brukes også i klasser , objekt - orientering og scoping . Eksempler som " bruker streng " eller " bruk heltall " tillate et Perl program for å importere semantikk fra pseudo- moduler i seksjoner , eller blokker av et program kode i stedet for gjennom hele programperioden . Disse pseudo- moduler kan slås av . Den nødvendige funksjonen kan ikke gjøre dette.