34. kasu praktikoa: ordezkapen anitz

     Ordezkapenak egiten dituen beste programa bat da hau. Honen berezitasuna, sarrerako testuan aldiberean nahi adina ordezkapen egin ahal izatea da. Sarrera-datu gisa, testu-fitxategiaren izena eta bilatu eta ordezkatu nahi ditugun hitzak (binaka) jasoko ditu programak komando-lerrotik.

     Adibidez:

  >perl ordezkapenak.pl testua.txt haundi handi

     testua.txt fitxategiko “haundi” hitzaren agerpen guztiak ordezkatu “handi” hitzarekin.
 
>perl ordezkapenak.pl testua.txt 1 bat 2 bi 3 hiru

     Hiru ordezkapen aldi berean: “1”, “2” eta “3” digituen agerpenak, “bat” “bi” eta “hiru” string-ekin ordezkatuko ditu hurrenez hurren.
    
 Hona programaren kodea:

ordezkapenak.pl

 #!/usr/local/bin/perl
 use warnings;
 use strict;
 my ($fitx, $argluz, $lerro);
 $fitx = $ARGV[0];
 open (FITX, $fitx) or
      die(“Ezin $fitx fitxategia zabaldun”);
 # Egiaztatu argumentu kopurua egokia dela (bakoitia):
 # $ARGV[0] —> fitxategi-izena
 # $ARGV[1] eta $ARGV[2] , $ARGV[3] eta $ARGV[4] … bilatu
 # eta ordeztu nahi ditugun hitzak, binaka idatzi behar
 # dira.
 # Beraz, @ARGV-ren azken indizeak bikoitia izan behar du
 $argluz = @ARGV;
 if (($argluz % 2) == 0) {
      # Argumentu kopuru okerra
      die (“Hitzak bikoteka idatzi behar dira!n”);
 }
while($lerro = <FITX>){
        #lerro bakoitzeko ordezkapen guztiak burutu
        for(my $i = 1; $i < $argluz; $i += 2){
            # Argumentuak binaka hartu
            # i. argumentua bilatu eta (i+1). argumentuagatik
            # ordezkatu
            $lerro =~ s/$ARGV[$i]/$ARGV[$i+1]/g;
        }
        print $lerro;
 }

Jaitsi   ordezkapenak.pl   fitxategia

Utzi erantzuna

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