Perl Dili ve Linux

bytan

LinuX GeeK
Moderatör
Katılım
17 Tem 2006
Mesajlar
1,866
Reaction score
0
Puanları
0
Konum
41° 0' 0 N, 27° 30' 0 E Amor en el exilio...
PERL

Perl programlama dili aynı zamanda "Practical Extraction and Report Language" (Pratik Çıkarım ve Raporlama Dili) ve "Pathologically Eclectic Rubbish Lister" (Hastalıklı Derecede Eklektik ve Saçma Listeleyici) olarak da bilinir.

(Not:Her ne kadar alıntı yaptığım kaynakta ve daha bir çok kaynakta Perl dili için çeşitli açılımlar belirtiliyor olsa da, örneğin yukarıdaki iki açılım gibi, bu dilin yazarı Larry Wall, bu tür açılımların hiç birini bugüne kadar doğrulamadı veya kendisi belirtmedi.Zaten http://www.perl.org/ adresindeki resmi siteye girerseniz, bu tür açılımlarla karşılaşmazsınız.)


1987 yılının 18 Aralık günü Larry Wall tarafından dünyaya armağan edilmiştir. C, sed, awk, sh ve başka pek çok dilin önemli ve güçlü özelliklerini bünyesinde barındırmaktadır.

Yoğun şekilde metin işleme ve görüntü tanıma söz konusu olduğunda kullanılabilecek en güçlü ve pratik programlama dilidir. 17 yıldır geliştirilen ve özgür yazılım çerçevesinde kaynak kodu açık olarak sunulan Perl programlama dili hemen hemen tüm işletim sistemlerinde çalışmaktadır.


Perl ile ilgili sloganlardan biri: Perl programlarının %90'ı zaten yazılmıştır! Bunun sebebi CPAN yani Comprehensive Perl Archive Network olarak isimlendirilen ve Perl ile ilgili binlerce hazır modülü barındıran sistemdir.Şu an itibariyle (21.06.2008);
236 yansıda, 6661 kişinin yazdığı, 4530 MB boyutunda 13743 adet modül bulunmaktadır.
(Kaynak cpan.org)


Bu dilin her ne kadar platform bağımsız olduğu söylensede, yazılan her program her işletim sisteminde çalışmayabilir.Ve perl e ait çoğu özellik Linux kökenlidir.
Neden hem platform bağımsız deniyor ama her program her sistemde çalışmıyor?
Bunun yanıtı, program yazarken kullanılan komutlardır.Eğer program linux içerisinde yazılıyorsa ve program içerisinde linuxun doğal komutlarından birisi bu program içerisinde kullanılıyorsa, örneğin chmod veya shutdown veya halt vs.., doğal olarak o program windows içerisinde beklendiği gibi çalışmayacaktır.
Bunun dışında, sistem-bağımlı komutlar kullanmadığınız sürece, perl in kendisine ait modül ve fonksiyonlarına bağlı kaldığınız sürece, platform bağımsızdır diyebiliriz..


Neden Perl?

Perl bir yorumlayıcı, yani Perl kodu derlenip makina diline çevrilmiyor. Bu nedenle çok hızlı çalışması gereken programlar yazmaktan çok; çok hızlı yazılması gereken programlama problemlerinde kullanılıyor.

Bir başka önemli özelliği, çok ama çok geniş bir kütüphaneye sahip olması. Aslında bu çılgın kütüphane doğrudan Perl'e ait değil. Bu kütüphanenin "çılgın" olmasının asıl nedeni açık kod Perl programcılarının geliştirdikleri kodların cpan.org (O'Reilly destekli) tarafından çok iyi organize edilen bir arşivde tutulması.

Aklınıza gelebilecek her donanım platformu için Perl yorumlayıcısı var ( www.perl.org ). Bu da Perl ile yazılan kodların mükemmel bir şekilde taşınabilir olmasını sağlıyor.

Perl her ne kadar web üzerinde çalışacak CGI (Common Gateway Interface) yazılımları için gelitirilmiş olmasa da gelişmiş karakter dizisi işleme özellikleri ve zengin kütüphaneleri sayesinde CGI dünyasının da ası olmuştur.


Bu kadar laftan sonra, bir kaç tane perl programı paylaşmak istiyordum ama konu çok uzadı.Bu kadar satırın bile aslında okunacağını pek sanmıyorum :)
Bugün veya yarın, vakit bulabilirsem çok sık kullandığım bir perl scriptini buraya aktarmayı planlıyorum.Linux kullananlar veya programlama/güvenlik gibi konularla ilgilenenlar md5 ve hash ile ilgili konuları bilirler.Örneğin, bazen elinizde bir hash ile karıştırılmış şifre olur ve onu açmanız/kırmanız gerekebilir.Tabii eğitim amaçlı yada unuttuğunuz şifreyi bulmak için :goz:
İşte bu amaç için yazılmış bir programdı.

Son olarak perl ile ilgili söyleyebileceğim bir şey var ki o da, kullanması ve öğrenmesi çok kolay olan bir programlama dili.Ve aklınıza gelebilecek herşeyi yapabileceğiniz bir programlama dili..
 
Perl konusunda en uzman kişi ve yaratıcısı olan Larry Wall, Perl'i şu şekilde tanımlamaktadır:

Perl her türlü metin içeren dosyayı tarama, bu dosyalardan bilgiyi oluşturma ve bu bilgiye dayanarak raporlar üretme konusunda eniyileştirilmiş bir yorumlanan dildir. Ayrıca, birçok sistem yönetim işi için de iyi bir dildir. Dil güzel (küçük, zarif, şık) yerine pratik (kullanımı kolay, verimli, tam) olacak şekilde tasarlanmıştır. C, sed, awk ve sh’ın en iyi özelliklerini birleştirdiği için bu dillerle tanışıklığı olan kişiler fazlaca bir güçlükle karşılaşmazlar. (Dil tarihçileri, csh, Pascal ve hatta BASIC-PLUS’tan da bazı izler bulacaktır.) İfadelerin sözdizimi C'nin ifadeler için kullandığı sözdizime çok benzemektedir. Birçok UNIX hizmet programından farklı olarak, Perl verilerinizi sınırlamaz; örneğin, eğer belleğiniz varsa, tüm bir dosyayı tek bir karakter dizisi içinde yutabilirsiniz. Özçağrı derinliğinde sınır yoktur. İlişkilendirilmiş diziler için kullanılan "hash" tabloları, performansı bozmamak için gerektiği kadar büyüyebilir. Perl, büyük miktardaki verileri çok hızlı bir şekilde taramak için karmaşık desen eşlemesi teknikleri kullanmaktadır. Metin bilgisi için eniyileştirilmiş olmasına rağmen, Perl, aynı zamanda ikili verileri de işleyebilir ve dbm dosyalarını (eğer dbm varsa) ilişkilendirilmiş diziler gibi gösterebilir. Setuid Perl programcıkları, birçok aptal güvenlik açıklarını engelleyen bir veri akışı izleme mekanizması aracılığı sayesinde C programlarından daha güvenlidir. Eğer normalde sed, awk veya sh kullanarak çözeceğiniz bir problem varsa, ancak onların kapasitesi yetersiz kalıyorsa veya biraz daha hızlı çalışacak bir çözüm arıyor da C kullanacak kadar önemli bir çalışma yapmayacaksanız, Perl tam size göre olabilir. Ayrıca, yazmış olduğunuz sed veya awk programcıklarını Perl'e çeviren çevirici programlar da bulunmaktadır.


güsel paylaşım dostum!!!
 
Geri
Üst