Syntaks
Ulike syntakser av glob () -funksjonen er nevnt nedenfor.
Glob () -funksjonen returnerer listen over filer og mapper i den aktuelle katalogen.
Metacharacters
Følgende metakarakterer brukes ofte til å skrive vanlige uttrykksmønstre i Perl
Karakter | Beskrivelse |
---|---|
. | Det brukes til å matche en hvilken som helst karakter uten en ny linje ('\ n'). |
* | Det brukes til å matche en hvilken som helst karakter null eller flere ganger. |
? | Det brukes til å matche en hvilken som helst karakter for null eller en gang. |
() | Det brukes til gruppering. |
[…] | Det brukes til å definere karakterklassen. |
~ | Det brukes til å matche hjemmekatalogen. |
… | Det brukes til å matche komma-separerte ord omsluttet av de andre parentesene. |
Ulike eksempler på Glob () -funksjonen er vist nedenfor.
Eksempel-1: Hent alle filer og mapper i en bestemt katalog
Opprett en Perl -fil med følgende kode for å vite bruken av Glob () -funksjonen for å søke i alle filer og mapper i den aktuelle katalogen. I henhold til katalogstien som er definert i koden, vil alle filer og mapper på banen, “/home/fahmida/*,” bli lagret i en matrise hvis banen eksisterer; Ellers vises en feilmelding. Deretter vil innholdet i matrisen bli skrevet ut.
#Retriv innholdet i en bestemt katalog
@content = glob ('/home/fahmida/*');
#Trykk verdien returnert av Glob () -funksjonen
skriv ut "@Content \ n";
Produksjon:
Listen over alle filer og mapper i katalogen, “Home/Fahmida/,” er vist i utdataene.
Eksempel-2: Hent de spesifikke filene til en bestemt katalog
Opprett en Perl -fil med følgende kode for å vite bruken av Glob () -funksjonen for å søke i listen over spesifikke filer i en bestemt katalog. I henhold til katalogstien som er definert i koden, vil alle Perl -filer på banen, “/Home/Fahmida/*,” bli lagret i en matrise hvis banen eksisterer; Ellers vises en feilmelding. Deretter vil innholdet i matrisen bli skrevet ut.
#TREFRIV ALLE PERL -filer i en bestemt katalog
@content = glob ('/home/fahmida/*.pl ');
#Trykk verdien returnert av Glob () -funksjonen
skriv ut "@Content \ n";
Produksjon:
Listen over alle tekstfiler i katalogen, “Home/Fahmida/,” er vist i utdataene.
Eksempel-3: Hent alle filer og mapper i den gjeldende katalogen
Opprett en Perl -fil med følgende kode for å vite bruken av Glob () -funksjonen for å søke i alle filer og mapper i den gjeldende katalogen. Alle filer og mapper i gjeldende katalog blir lagret i en matrise. Deretter vil innholdet i matrisen bli skrevet ut.
# Hent alle filer og mappe i gjeldende katalog ved hjelp av mønster
@Content = glob ('*');
#Interate den returnerte verdien ved hjelp av loop
Foreach $ val (@content)
#Trykk hver verdi
Skriv ut $ val . "";
#Add newline
skriv ut "\ n";
Produksjon:
Følgende utdata viser alle filer og mapper i gjeldende katalog.
Eksempel-4: Hent de spesifikke filene i den gjeldende katalogen
Opprett en Perl -fil med følgende kode for å vite bruken av Glob () -funksjonen for å søke i alle tekstfiler i den gjeldende katalogen. Alle tekstfiler i gjeldende katalog blir lagret i en matrise. Deretter vil innholdet i matrisen bli skrevet ut.
# Hent alle tekstfiler i gjeldende katalog ved hjelp av mønster
@content = glob "*.tekst";
#Interate den returnerte verdien ved hjelp av loop
Foreach $ val (@content)
#Trykk hver verdi
Skriv ut $ val . "";
#Add newline
skriv ut "\ n";
Produksjon:
Følgende utdata viser alle tekstfiler i gjeldende katalog.
Eksempel-5: Hent de spesifikke mappene ved å bruke “?”
Opprett en Perl -fil med følgende kode for å vite bruken av glob () -funksjonen for å søke i bestemte mapper i den gjeldende katalogen ved å bruke “?”. Alle mapper i gjeldende katalog som starter med tegnet “T” og mappenavnet som inneholder 4 tegn, vil bli lagret i en matrise. Deretter vil innholdet i matrisen bli skrevet ut.
# Hent alle mapper i gjeldende katalog
# som starter med 'T' og inneholder 4 tegn
@content = glob ("t???");
#Iterat den returnerte verdien ved hjelp av loopen
Foreach $ val (@content)
#Trykk hver verdi
Skriv ut $ val . "";
#Add newline
skriv ut "\ n";
Produksjon:
Følgende utdata viser alle mapper i den gjeldende katalogen som starter med tegnet "T", og mappenavnet inneholder 4 tegn.
Eksempel-6: Hent de spesifikke mappene ved å bruke “*” og [0-9]
Opprett en Perl -fil med følgende kode for å vite bruken av glob () -funksjonen for å søke i bestemte mapper i den gjeldende katalogen ved å bruke “*”Og [0-9]. Alle filer i den gjeldende katalogen som starter med ethvert tegn, men slutter med "ob”Og et siffer blir lagret i en matrise. Deretter vil innholdet i matrisen bli skrevet ut.
# Hent alle filer i gjeldende katalog slutter med 'ob' og sifferet
@Content = glob ("*ob [0-9].*");
#Interate den returnerte verdien ved hjelp av loop
Foreach $ val (@content)
#Trykk hver verdi
Skriv ut $ val . "";
#Add newline
skriv ut "\ n";
Produksjon:
Følgende utdata viser at den gjeldende katalogen inneholder 6 filer som samsvarer med det definerte mønsteret til koden.
Konklusjon
Måten å søke på filer og mapper på et bestemt sted ved å bruke Glob () -funksjonen er vist her. Bruken av forskjellige typer metakarakter for å skrive søkemønsteret er vist i eksemplene.