Web’ler genellikle YAZI PARÇAlarından meydana gelir. Bu yazı parçalarını yönetmek, manipule ya da organize etmek, webmaster’ların en karmaşık görevlerinden birisidir. Hatta tarihleri güncellemek bile zamanınızı çok alan bir iş haline gelebilir. Dreamweaver gibi HTML editorleri ya da eGrail gibi içerik yönetim sistemleri, Web siteleri yönetimlerini daha kolay hale getirdi ama hala birbirini yinelenen yazı parçaları gibi konularda Perl kullanmak daha verimli olabiliyor. Bu ilk yazıda Perl’in olağanüstü manipulasyon yetenekleri ile nasıl zaman ve emek tasarrufu yapabileceğinizi göreceksiniz:
Giriş
Öncelikle, kendimi tanıtayım. Son 6 yıldan beri Perl ile çalışıyorum. Önce Unix Administrator iken, sonra webmaster oldum. Bilahere web uygulamaları system otomasyonu ile uğraştım. Kendimi tecrübeli bir Perl programcısı olarak tanıtmayı severim. Ama her geçen gün yeni şeyler öğreniyorum. Perl özellikle hesaplama gerektiren konularda çok yardımcı oldu. Bu nedenle de benim en sevdiğim otomasyon tool’u haline geldi. Bu konuda yazmanın en güzel yönü, siz sevgili okuyucuların da kendi tecrübeleri ile bana bazı şeyleri öğretebilir oluşu. Sizlerin de bize yazmanızı ve tecrübelerinizi iletmenizi bekliyoruz. Eğer herhangi bir konuda pratik çözümleriniz varsa ve bizimle paylaşmak isterseniz, mail atın. Problemleriniz için WDVL sitesine göz atın, orada bir çözüm bulabilirsiniz. Benim hakkımda bilgi almak isterseniz Bio adresini kullanabilirsiniz.
Perl ve Yazılar
Perl, belki de yaratıcısı bir dil bilimci olduğu için, YAZI PARÇALARInın yönetimi konusunda bazı özelliklere sahiptir. Özetle, Perl YAZI PARÇALARININ yönetimi için yaratılmıştır. Bu nedenle de web programlaması, system yönetmenliği ve yayıncılık kavramlarının hepsini içerir. Perl ile YAZI’ların işlenmesinde 3 mekanizma vardır. İlki, Perl basit komut makinası (Perl regular expression engine). Bu mekanizma sed and awk e benzer bazı özel komutlardır. Bu iki komut YAZI işleme tool’u yıllardır Unix’in parçaları olarak bilinirler. Perl’ün komutları çok verimli ve güçlüdür.
Perl’ün ikinci mekanizması, YAZI İŞLEME FONKSİYONUdur. Buradaki pek çok fonksiyon başka dillerde bulunmaz. Mesela split(), shift(), pop(), chomp(), join, ve slice(). Perl’ün dinamik string ve dizileri ile bu fonksiyonları kullanmak sayesinde çok zaman tasarrufu yaptım.
Son YAZI İŞLEME MEKANİZMASI ise, dışarıdan başka modüller, dinamik olarak yüklenebilir. Bu modüller, basit komutlar ve Perl fonksiyonları kullanılarak da yaratılmış olabilir. Mesela HTML::Parser ve Parse::RecDescent. Modüller genellikle daha basittir. Genellikle bir HTML dosyanın yüklenmesi gibi tipik YAZI İŞLEME problemlerini çözmek için kullanılır.
Bu yazı serisinde, bu 3 mekanizmayı nasıl kullanacağınızı ve Web’deki bilinen yazı işleme problemlerini nasıl çözebileceğinizi öğreneceksiniz. Gelecek bölümde, dosyalardaki “replace text string”lerin nasıl kullanılacağını göstereceğiz.