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