Bruk av Perl Glob -funksjon

Bruk av Perl Glob -funksjon
Perl Glob () -funksjonen brukes hovedsakelig til å hente alt innhold eller det aktuelle innholdet i en katalog. Det vanlige uttrykksmønsteret kan brukes med denne funksjonen for å matche de spesielle filene og mappene i en katalog. Ulike symboler brukes til å definere mønsteret som skal brukes til å hente innholdet i den gjeldende katalogen eller den spesifikke katalogen. Bruken av glob () -funksjonen uten mønster og med mønsteret er vist i denne opplæringen.”

Syntaks
Ulike syntakser av glob () -funksjonen er nevnt nedenfor.

  1. glob (katalog_path)
    Ovennevnte Glob -syntaks brukes til å søke i innholdet i en bestemt katalogsti som vil bli nevnt i argumentet.
  2. glob expr;
    Ovennevnte Glob -syntaks brukes til å søke på innholdet i katalogen basert på matchingsmønsteret.

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.