Ulike eksempler på Perl-moduler
Metodene for å bruke de innebygde Perl-modulene og brukerdefinerte modulene er vist i denne delen av opplæringen.
Eksempel 1: Bruk av den innebygde modulen
I dette eksemplet er bruken av tre innebygde moduler av Perl vist. Disse er 'strenge', 'advarsler' og '5.34.0'. Den 'strenge' modulen brukes til å aktivere de forskjellige typene restriksjoner for å skrive Perl-skriptene. For eksempel kan ingen variabel deklareres uten nøkkelordet 'mitt' hvis denne modulen brukes i skriptet. 'Advarsler'-modulen brukes til å vise de forskjellige typene advarselsmeldinger etter å ha utført skriptet som hjelper koderen å forstå feilen. '5.34.0'-modulen brukes til å bruke de forskjellige funksjonene til denne modulen i skriptet. 'Si'-funksjonen som brukes til å skrive ut meldingene med ny linje er funksjonen til denne modulen.
#!/usr/bin/perl
#Aktiver begrensning for koding
bruk strenge ;
#Vis advarsel for feil
bruk advarsler ;
#Aktiver forskjellige tjenester
bruk 5.34.0 ;
#Bruk av 'mitt' søkeord er obligatorisk for 'streng' modul
mitt $språk = 'Perl' ;
#Aktiver bruk av «si»-funksjonen
si 'Lær $language programmering.' ;
Produksjon:
Følgende utdata vises etter utføring av skriptet:
Eksempel 2: Bruk av den brukerdefinerte modulen
Perl-brukerne kan opprette modulen for et bestemt formål ved å lage en fil med filtypen '.pm'. I dette eksemplet opprettes en brukerdefinert modul og den brukes i et annet Perl-skript ved å bruke nøkkelordet 'bruk'.
Opprett en brukerdefinert modul:
Lag en fil med navnet 'Bonus.pm' med følgende skript. Her brukes nøkkelordet 'pakke' for å definere at det er en modul. Denne modulen inneholder en subrutine som beregner bonusen til en ansatt basert på lønn og salgssum. To argumentverdier sendes fra Perl-skriptet der denne modulen brukes. Det første argumentet inneholder lønnen og det andre argumentet inneholder salgssummen. Bonusen er 15 % av salgssummen dersom lønnen er over 10000. Bonusen er 10 % av salgssummen dersom lønnen er over 7000. Bonusen er 5 % av salgssummen dersom lønnen er mindre enn 10000 '1;' brukes på slutten av modulen for å returnere sann. Ellers skrives det ut en feil.
Bonus.pm
#!/usr/bin/perlbruk strenge ;
bruk advarsler ;
bruk 5.34.0 ;
pakke bonus ;
#Erklær subrutine for å beregne bonus
sub calculate_bonus
{
# Initialiser variablene
min $lønn = $_ [ 0 ] ;
mitt $sales_amount = $_ [ 1 ] ;
min $bonus = 0,0 ;
#Beregn bonus
hvis ( $lønn > 10 000 )
{
$bonus = $sales_amount* 0,15 ;
}
elsif ( $lønn > 7000 )
{
$bonus = $sales_amount* 0,10 ;
}
ellers
{
$bonus = $sales_amount* 0,05 ;
}
#Returner den beregnede bonusen
komme tilbake $bonus ;
}
1 ;
Importer en modul i et Perl-skript:
Lag en Perl-fil med følgende skript som importerer 'Bonus'-modulen som ble opprettet tidligere for å beregne bonusbeløpet til en ansatt basert på lønnen og salgsbeløpet som er tildelt i skriptet.
#!/usr/bin/perlbruk strenge ;
bruk advarsler ;
bruk 5.34.0 ;
bruk Bonus ;
#Initialiser variabler
mitt $navn = 'Mir Sabbir' ;
min $lønn = 60 000 ;
mitt $sal_beløp = 9700 ;
#Call subrutine fra modulen
min $bonus = Bonus::beregn_bonus ( $lønn , $sal_amount ) ;
min $lønn_med_bonus = $lønn + $bonus ;
#Skriv ut ansattinformasjon basert på salg
si 'Ansattdetaljer: \n ' ;
si 'Navn: $navn' ;
si 'Lønn: $lønn' ;
si 'Lønn (med bonus): $lønn_med_bonus' ;
Produksjon:
Følgende utdata vises etter utføring av skriptet. Her, '-jeg'. alternativet må brukes på tidspunktet for utføring av skriptet for å finne ut den brukerdefinerte importerte modulen:
Eksempel 3: Bruk av den brukerdefinerte modulen ved å bruke 'Require'
'Require'-funksjonen er en annen måte å importere modulene i Perl-skriptet, og den er vist i dette eksemplet. Den tidligere opprettede 'Bonus'-modulen importeres til skriptet ved å bruke 'require'-funksjonen. Verdiene for lønn og salgsbeløp er hentet fra brukeren i dette skriptet. Den andre delen av skriptet ligner på forrige eksempel.
#!/usr/bin/perlbruk strenge ;
bruk advarsler ;
bruk 5.34.0 ;
krever bonus ;
#Ta innspill fra brukeren
si 'Skriv inn ansattes navn:' ;
chomp ( mitt $navn = <> ) ;
si 'Skriv inn lønnen:' ;
chomp ( min $lønn = <> ) ;
si 'Skriv inn salgsbeløpet:' ;
chomp ( mitt $sal_beløp = <> ) ;
#Call subrutine fra modulen
min $bonus = Bonus::beregn_bonus ( $lønn , $sal_amount ) ;
min $lønn_med_bonus = $lønn + $bonus ;
#Skriv ut ansattinformasjon basert på salg
si 'Ansattdetaljer: \n ' ;
si 'Navn: $navn' ;
si 'Lønn: $lønn' ;
si 'Lønn (med bonus): $lønn_med_bonus' ;
Produksjon:
Følgende utdata vises etter utføring av skriptet:
Konklusjon
Bruken av både innebygde og brukerdefinerte moduler i Perl er vist i denne opplæringen ved hjelp av enkle eksempler.