31. kasu praktikoa: hitza bere testuinguruan

      Bilaketa-programa berri bat garatuko dugu, zeinak bilaketa-hitza bere testuinguruan bistaratuko digun. Programak argumentu bezala komando-lerrotik fitxategi-izena, bilaketa-patroia eta N zenbaki bat jasoko ditu, eta bilaketa-hitza
duten lerro guztiak bistaratuko, aurreko eta hurrengo N lerroekin batera testuingurua hobeto ikustearren.
      Adibide gisa bila dezagun “amorio” hitza xenpelar.txt fitxategian, aurreko eta segidako 2 lerroekin batera:

 >perl aurreHurre.pl xenpelar.txt amorio 2
 dote eta arrio,
 ez dutela balio
 amorio fiñarentzat,
 zergatik izan biarko duben
 il arteraño beretzat.
 >

      Hona hitza bere testuinguruan bistaratzen duen programaren kodea:

aurreHurre.pl
 #!/usr/bin/perl
 use strict;
 use warnings;
 my $hitza = $ARGV[1];   # bilaketa hitza
 my $zenb = $ARGV[2];   # aurretik/ondoren zenbat lerro?
 open(FITX, $ARGV[0]) ||
      die(“Errorea! Ezin $ARGV[0] fitxategia irekin”);
 # Fitxategia array-an gorde
 my @lerroak = <FITX>;
 # Array-a lerroz-lerro zeharkatu
 for ( my $i = 0; $i <= $#lerroak; $i++) {
      # Lerroak badu $hitza?
      if ($lerroak[$i] =~ /b$hitzab/) {
      # Bistaratu aurreko eta hurrengo $zenb
      # lerroekin batera
            print @lerroak[($i – $zenb) .. ($i + $zenb)];
            print(“nn”);
      }
 }
 close(FITX);

Jaitsi   aurreHurre.pl   fitxategia

Utzi erantzuna

Zure e-posta helbidea ez da argitaratuko. Beharrezko eremuak * markatuta daude