Sunum yükleniyor. Lütfen bekleyiniz

Sunum yükleniyor. Lütfen bekleyiniz

5. Perl’e Giriş. Geçen Hafta... UNIX Linux  Temel Komutlar  Çekirdek kavramı  Dosya erişim hakları  Web’te dosya yayınlama.

Benzer bir sunumlar


... konulu sunumlar: "5. Perl’e Giriş. Geçen Hafta... UNIX Linux  Temel Komutlar  Çekirdek kavramı  Dosya erişim hakları  Web’te dosya yayınlama."— Sunum transkripti:

1 5. Perl’e Giriş

2 Geçen Hafta... UNIX Linux  Temel Komutlar  Çekirdek kavramı  Dosya erişim hakları  Web’te dosya yayınlama

3 Bu Hafta... CGI-Bin  Nedir? Perl  Nedir?  Nasıl Çalışır?  Yorumlayıcı vs. Derleyici  Neden Perl?  Perl’e Giriş

4 Kaynaklar R. L. Schwartz, T. Phoenix Third Edition, July Chapter 1: Introduction Chapter 1: Introduction to Perl N. Patwardhan, E. Siever, S. Spainhour Second Edition, June Chapter 1: Getting Started S. Guelich, S. Gundavaram, G. Birznieks Second Edition, July 2000

5 5.1.1 CGI Nedir? CGI (Common Gateway Interface-Ortak Geçis Arayüzü) Web sunucusunun başka süreçlere (programlara) Web sayfası yaratma ve biçimlendirme imkanını tanımak için ihtiyaç duyduğu en azıdır. Bir istemci Web sunucusundan statik bir kaynak istediğinde, sunucu bunu bulur ve istemciye gönderir. Web sunucusuna bir CGI betik isteği geldiğinde, sunucu bu betiği ayrı bir süreç olarak çalıştırır, bu sürece bir grup girdi girer, çıktıları toplar, ve bu çıktıları bir statik kaynak gibi istemciye gönderir.

6 5.1.1 CGI Nedir?

7 Çalıştırılacak CGI betiklerinin yerleri ve bu betikleri kimlerin çalıştırabileceği Web sunucunun konfigürasyon dosyasında tanımlanmaktadır. Unix ve Linux işletim sistemlerinde çalıştırılabilir dosyalar diğer dosyalardan erişim hakları tabanında ayrılmaktadır. Dolayısıyla CGI dosyaları dosyanın sahibi, grup üyeleri ve diğerleri tarafından çalıştırılabilir dosyalar olmalıdır. Genelde CGI dosyalarına verilen erişim hakkı 755’tir.

8 5.1.2 CGI Alternatifleri  ASP  PHP  JSP  ColdFusion  Java Servlets Bu dillerin geliştirilmesinin sebebi, CGI’ın zayıf noktalarını, örneğin her bir istek için ayrı süreç açma gibi, gidermekti. Ayrıca kod ile HTML arasındaki ayırımı da ikisini birleştirerek sonlanırmaya çalışmaktadırlar. CGI, program yazanların HTTP’yi daha iyi anlamalarını sağladığı ve Web sunucularının tamamına yakınının desteklediği için tüm bu rekabete rağmen hala yaygın olarak tercih edilmektedir.

9 5.2.1 Perl Nedir? Perl “Practical Extraction and Report Language”’ın baş harflerinden oluşmktadır. Aslında Perl bir kısaltma değil çünkü Larry Wall önce ismi daha sonra da bu ismin açılımını geliştirdi. Bu yüzden Perl kelimesinin tamamı büyük harf değildir. Larry Wall Perl’i 1980’lerin ortalarında çalışmakta olduğu hata rapor sisteminin dosyalama kısmı ile uğraşırken geliştirdi. Larry Wall, var olan araçları kullanmak yerine kendisi bir çözüm geliştirmeye çalıştı ve netice Perl sürüm 0 oldu. "Perl is designed to make the easy jobs easy and the hard jobs possible." "Perl is designed to make the easy jobs easy and the hard jobs possible." - Larry Wall

10 5.2.1 Perl Nedir? Perl, C, C++ veya assembly gibi daha low-level programlama dilleri ile kabuk programlama gibi daha high-level dilleri arasındaki boşluğu doldurmaya çalışmakta. Low-level programlama yapmak genelde daha zor ve az anlaşılır olmasına rağmen hızlı ve sınırsızdır, yapmak istediğiniz çoğu şeye olanak tanır. High-level programlama ise, yavaş ve kısıtlıdır. Perl kolay, yapabilecekleriniz sınırsıza yakın, genellikle hızlı, ve bir miktar çirkindir (bu yüzden deveye benzetilir).

11 5.2.2 Neden Perl? Perl high-level diller kategorisindedir. Dolayısıyla Perl kodu daha yoğundur: genelde bir Perl kodu, aynı işlevi gören C kodunun %30 ile %70 kadar uzundur. Bu Perl kodlarının daha hızlı:  Yazılabildiği  Okunabildiği  Hatalardan arıklanabildiği (debug)  Bakım sağlanabildiği anlamına gelir. Ayrıca bir programdaki hata oranının kaynak kodun uzunluğu ile doğru orantılı olduğu da düşünülürse, kısa Perl kodları ortalamada daha az hata olarak ta yorumlanabilir.

12 5.2.3 Platformlar Her ne kadar Perl Unix’te geliştirilmiş ve Unix kültürü ile içiçe geçmiş olsa da Windows ve Macintosh ortamlarında da oldukça yaygınlaşmaktadır. Çoğu Unix ve Linux işletim sisteminde Perl kurulum esnasında otomatik olarak kurulmaktadır ve yaklaşık tamamında kurulum ile birlikte gelmektedir. Windows ve Macintosh’larda her ne kadar Perl otomatik olarak (kurulum ile beraber) gelmiyor olsa da, bu platformlar için de ücretsiz indirilebilen Perl binary dağıtımları (distribution) mevcuttur. Resmi olarak Win32’ler için varolan Perl dağıtımı ActivePerl’dir ( ) ve ActiveState şirketi tarafından geliştirilmektedir (www.activestate.com).www.activestate.com

13 5.2.4 Perl Programlama Perl programları metin dosyalarıdır, dolayısıyla onları kendi tercih ettiğiniz metin editörü ile oluşturabilir ve düzenleyebilirsiniz. Linux ortamında kullanabileceğiniz ve bu ders kapsamında tavsiye edilen editörlerden biri Pico. MS Word gibi kelime işlemci kullanmamaya dikkat edin. Eğer bir kelime işlemci kullanmak istiyorsanız mutlaka dosyalarınızı “Save as Text” seçeneği ile kaydedin. Eğer iki bilgisayar arasında dosyalarınızı FTP ile aktaracaksanız ASCII kipini kullanmalısınız (BINARY’yi tercih etmemeye dikkat edin)

14 5.2.4 Perl Programlama Perl’de yazılan kaynak kodlarını çalıştırmak için diğer programlama dillerinde olduğu gibi derleyici (compiler) bulunmamaktadır. Perl kaynak kodları yorumlayıcı (interpreter) kullanılarak çalıştırılırlar. Basitçe, Perl yorumlayıcı önce tüm ASCII kaynak kodu okur, syntax hataları için kontrol eder, bunu bytecode’a çevirir ve daha sonra Perl’in bytecode motoru bunları çalıştırır (execute). Kaynak kod her çalıştırıldığında bu işlem tekrarlanır.

15 5.2.5 Yorumlayıcı vs. Derleyici Yorumlayıcı ve derleyici “insanlar tarafından okunabilen” kod satırlarını, “makina tarafından okunabilen” ikili koda (binary code) çevirir. Derleyici kaynak kodu bir defa çevirir:  İkili kod bir çok defa farklı ortamlarda farklı kullanıcılar tarafından çalıştırılabilir.  İkili kod elde edildikten sonra kullanıcılar kaynak koda ihtiyaç duymaz Yorumlayıcı, kod her çağrıldığında kaynak kodu ikili koda çevirir:  Kullanıcılar dolayısıyla her seferinde kaynak koda ve yorumlayıcıya ihtiyaç duymaktadırlar.

16 5.2.5 Yorumlayıcı vs. Derleyici Temel prensipler: Derleyici Yürütülür Program Kaynak kod Yürütülür Program (executable) GirdiÇıktı Yorumlayıcı Kaynak kod Girdi Çıktı

17 5.2.5 Yorumlayıcı vs. Derleyici Derleyici avantajları:  Ortalama olarak 10 kat daha hızlıdırlar  Bağımsız modüllerin çalıştırılmasına olanak tanır Yorumlayıcı avantajları:  Kaynak kodlar genellikle çok daha kısadırlar  Kodu yazmak ve düzenlemek daha kolaydır  Platformlar arası taşınabilirlilik sağlar (kaynak kod makina bağımsızdır)

18 5.2.5 Yorumlayıcı vs. Derleyici Derleyici:  FORTRAN  COBOL  C  C++  Pascal  PL/1 Yorumlayıcı:  Lisp  scheme  BASIC  Perl  Python  Smalltalk

19 5.2.5 Yorumlayıcı vs. Derleyici Yorumlayıcıların en temel dezavantajlarından biri, kod her çalıştırıldığında kaynak kodu çevirmek için harcadıkları zamandır. Fakat Perl yorumlayıcısı çok hızlı ve etkin çalışan bir yorumlayıcı olduğu için bu zaman kaybı minimuma çekilebilmektedir. Yorumlayıcılar ile kolay ve hızlı “prototip” kaynak kod yazma avantajı, Perl’de maksimum seviyelere taşınmıştır.

20 5.2.6 Neden Perl? Perl’in syntax’ı diğer yaygın olarak kullanılan dillere benzediği için öğrenmek ve Perl’de kod yazmak kolaydır. Oluşan hatalarla ilgili verdiği spesifik ve detaylı hata mesajları bu hataları tespit etmek ve düzeltmek işini kolaylaştırır. Perl yorumlayıcı kullandığı için hızlı kod geliştirmeye olanak tanır; yazdığınız kodu sürekli derlemek zorunda kalmazsınız. Perl kodları kolaylıkla farklı platformlara taşınabilir ve Perl derleyecisi çoğu platform için mevcuttur. Perl dış uygulamalarla kolaylıkla “konuşabilir” – veri alışverişinde bulunabilir.

21 5.3 Perl Yorumlayıcısına Ulaşmak Perl yorumlayıcısını çalıştırmak için komut satırında sadece Perl demeniz yeterli olacaktır. Eğer Perl çalıştığınız platformda kurulu ve PATH değerleri doğru düzenlenmiş ise, yorumlayıcı devreye girecektir. Linux/Unix sistemlerde Perl’in hangi dizinde bulunduğunu bilmek gerekecektir. Bunun için: which perl komutunu komut satırından çalıştırın. Gelecek olan cevap: /usr/local/bin/perl şeklinde olacaktır.

22 5.4.1 Komut Satırından Perl perl -e "print \"hello world\n\""; perl -e "print 5+3; print \"Hello World\n\""; perl $a=5; $b=9; $c=$a*$b; print $c; Ctrl^D

23 5.4.2 Dosyadan Perl Pico editörünü kullanarak bir dosya yaratın ve içine perl betiklerinizi yazın. Örneğin: #!/usr/local/bin/perl $a=5; $b=9; $c=$a*$b; print “$c\n”; Dosyanızı bir isim ile kaydedin (örneğin deneme.pl). Bu dosyayı çalıştırmak için iki tane alternatifiniz var: 1. perl deneme.pl 2. chmod 7xx deneme.pl

24 5.4.2 Dosyadan Perl Genelde Perl kaynak kodu dosyalarına uzantı verilirken bir isim standardı uygulanmaz, istediğiniz uzantıyı verebilirsiniz. Fakat genel kabul görmüş olan birkaç tane uzantı bulunur ve bunları kullanmanız tavsiye edilmektedir.  pl: Perl source code  plx: Perl executable (7xx)  cgi: CGI olarak çağrılacak Perl dosyası.


"5. Perl’e Giriş. Geçen Hafta... UNIX Linux  Temel Komutlar  Çekirdek kavramı  Dosya erişim hakları  Web’te dosya yayınlama." indir ppt

Benzer bir sunumlar


Google Reklamları