Antalya Tasarım Grubu - Web Sitesi Tasarım    ATG - Genel Bilgi Sayfaları Geri Ileri
CGI hakkında ön bilgi
CGI nedir, ne işe yarar?
Kişisel web server kurulumu
Programların çalışabilmesi için gerekli kodlar
Ekrana yazdırma ve ilk program
Perl diline giriþ
Değişkenler
Splice ve split fonksiyonlarý
Formları kullanma
Çevre değişkenleri
Döngüler
Mantıksal sınama
Matematiksel işlemler
Dosya işlemleri
Alt programlar
Bulma ve değiştirme
Web üzerinden mail gönderme
Perl ile dizin işlemleri
Cookie'ler
Modüller, modül kullanımı ve require
Yazılma sonrası işlemleri
Güvenlik
Upload
Lisans konularý
Programların lisansı ve copyrigth haklarý
Linkler
Perl ile ilgili Türkce ve yabancı linkler
Bu döküman hakkında
Bu döküman hakkında
Antalya Tasarım Grubu - Web Tasarim Hizmetleri - Hosting (Barindirma) Islemleri - Alan Adi Islemlerii

Bulma ve değiştirme :

Perl ile herhangi bir tekil değişken içeriğinde (cgi dosyası dahilinde atanmış tekil değişken, veri dosyasından aldığımız bilgi, formdan gelen bilgi...) isteğe bağlı olarak değiştirilme yapılabilir ya da belli karakterler ya da karakter toplulukları silinebilir. Mesela bir ziyaretci defteri yazıyorsanız bazı karakterlerin kullanılmamasını ya da sansürlenmesini sağlayabilirsiniz ya da güvenlik açısından bazı kodların kullanılmasını engelleyebilirsiniz. Fonksiyonun kullanımı şu şekildedir:

$tekil_degisken =~ s/bulunacak/değiştirilecek/g;

Eğer değiştirilecek karakterler içerisinde html unsuru bulunuyorsa /g; yerine satır /isg; şeklinde bitmelidir.

$tekil_degisken =~ s/\[kalinyazi]/\/isg;

gibi...

Örnek :

#!/usr/bin/perl

# buldegistir.cgi

print "Content-type:text/html\n\n";

use CGI qw(:standard);

$query = new CGI;

$bul        = $query -> param('bul');
$degistir       = $query -> param('degistir');
$metin     = $query -> param('metin');

if ($bul ne "" or $degistir ne "") {

$metin =~ s/$bul/$degistir/g;

print "Gönderdiğiniz metindeki <b>\"$bul\"</b> karakter(ler)i ";
print "<b>\"$degistir\"</b> karakter(ler)i ile değiştirildi.<br><br>";
print "Metnin değişmiş hali:<br><br>";
print "$metin<br><br>";

}

print "<html><body><br>";
print "<form action=buldegistir.cgi method=post>";
print "Buraya metni girin :<br>";
print "<textarea name=metin cols=60 rows=7></textarea><br><br>";
print "Metin içerisinde <input type=text name=bul size=10> ";
print "geçen yerleri <input type=text name=degistir size=10> yazısı ile ";
print "<input type=submit value=Değiştir!>";
print "</form>";
print "</body></html>";



Bu fonksiyonun kullanım alanı çok geniştir. Formlarda, mesaj tahtalarında ya da ziyaretci defterinde filtreler, özel kod kullanımı hatta şu sırıtan kafalar (smiley'ler) bu fonksiyon sayesinde kullanılabilir. Bu fonksiyon sadece tekil değişkenlerde uygulanabilir, dizi değişkende bu fonksiyonu uygulamak için döngü sağlayıp (foreach) dizinin her elemanına teker teker =~ s fonksiyonu uygulamak gerekir.

Antalya Tasarım Grubu - Web Tasarim Hizmetleri - Hosting (Barindirma) Islemleri - Alan Adi Islemlerii