Perl programcısı olmaktan gurur duyanlar için özel !

0
sundance
Perl'ün yaratıcısı Larry Wall, alışageldiğimiz tarzında yaptığı sunumla, 7. geleneksel Perl Soğanının Durumu isimli toplantıda yine herkesi kırdı, geçirdi :)

'Biz, isteksizler,
cahiller tarafından öncülük edilen bir yolda,
imkansızı gerçekleştirmeye çalışıyoruz.
O kadar uzun süredir o kadar çok şeyi, (elimizdeki) o kadar az şeyle gerçekleştirdik ki
Artık (elimizdeki) hiçbir şeyle, herhangibir şeyi yapabilecek hale yetkinliğe eriştik.'

Görüşler

0
FZ
Geçen gün ofiste Larry Wall'un bu konuşmasının metnini okumaya başladığımda, teknik bir konuşma ne kadar eğlenceli ve komik ve aydınlatıcı olabilir ki diye düşünüyordum. Önce gözümden yaş gelene dek güldüm, sonra da üstadın vizyonuna ve teknik konuları eğlenceli şekilde açıklama yeteneğine, metaforları, felsefeyi, tarihi, vs. kullanışına hayran kaldım.
0
FZ
Mastermind oyununu bilen bilir, bilmeyenler için açıklama:

Bilgisayar 4 basamaklı gelişigüzel bir tamsayı seçecek, her basamak 1-6 arasında olacak. Siz de her seferinde 4 basamaklı bir sayı gireceksiniz rakamları 1-6 arasında. Girdiğiniz rakamlardan birinin kendisi mevcut ama yeri yanlış ise +, kendisi mevcut ve yerini de doğru tahmin etmişseniz * değeri döndürülecek ve bu ipuçlarına bakarak tahmininizi geliştireceksiniz. Doğru tahmini yaptığınızda ya da ! girdiğinizde oyun bitecek.

Örn: Bilgisayarın seçtiği sayı: 5536 olsun, siz 1563 girerseniz bilgisayar size ++* şeklinde ipucu verecek yani iki rakamın yeri yanlış, birinin doğru, bir tanesi ise bilgisayarın tuttuğu sayı içinde mevcut değil şeklinde.

Bunu favori programlama dilinizde nasıl yapacağınızı düşünedurun, ben size bunu yapan Perl kodunu aktarayım:


#!/usr/bin/perl -l
$c.=1+int rand 6for 6..9;while(){/^d{4}$|!/||next;$_.=$c;4while
s+(.)(.{4})1+?$2*+s;4while s-(d)(.* .*)1-+$2-;print/[*+]/g;/*{4}|!/&&die


Tepedeki ilk satırı saymazsak sadece 2 satır ;-)

Detaylar için adres: http://perlmonks.org/index.pl?node_id=276359

FZ: İtina ile programlama dilleri savaşına çanak tutan provakatör editör :-P
0
St
Iki satir olabilir, ama kesinlikle dogal degil :)
Bunu javayla yazmak bilem buyuk haz verir, velakin yukardaki perl kodu insana oykh dedittiriyo
(St, javadan da perlden de hazetmeyen, bu gidi$le hic bi programlama diliyle duygusal bag kuramiyacakmi$ izlenimi veren FMci :)
0
FZ
Yanlış anlama olmasın, söz konusu Perl kodu `obfuscated code´ kategorisinden seçilmiştir. Yani özel olarak kısaltılmış, karmaşık hale getirilmiş bir koddur. Aynı şeyi tabii ki yine Perl dilinde, çok daha açık seçik, uzun, anlaşılır, kolay okunur şekilde yazmak mümkündür. Maalesef insanlar bu tip örneklere bakıp Perl´in zor bir dil olduğunu düşünmektedirler, bu, tam olarak doğru değildir. Dilin ne kadar esnek olduğuna dair bir örnek olarak gösterilmiştir, kesinlikle `doğal´ ve kolay anlaşılır program örneği olarak sunulmamıştır :) Sakın bunu evde tek başınıza denemeyin, mutlaka bir uzman gözetiminde çalıştırın :-P
Görüş belirtmek için giriş yapın...

İlgili Yazılar

Perl Öğreniyoruz - 1

butch

Haydi millet toplanın. Perl öğrenmeye başlıyoruz :) Bundan sonra düzenli olarak bu köşede Can Uğur Ayfer tarafından hazırlanan Perl Öğreniyoruz makaleleri yayınlanacak. Bu makalelerde, klasik yöntemle, basit problemleri adım adım çözerek beraberce Perl öğreneceğiz. Buyrun ilk derse...

(Can Uğur Ayfer, Kim Korkar Unix`den, Perl ve MySQL ile Cgi Programlama gibi kitapların yazarı, 1973 yılından beri ülkemizde bilgisayar sektörünün duayenlerinden birisidir. Halen aktif olarak çalışmakta öğrenmeye, öğretmeye aynı coşku ile devam etmektedir. Kendisine sonsuz teşekkürler)

Perl 20. Doğum Günü ve Perl 5.10 Çıktı

anonim

Geçtiğimiz günlerde Perl'in 20. yaşgünü tüm dünyada coşku ile kutlandı. Doğum gününden 1 gün önce Perl Vakfı Perl 5.10'u duyurdu.

Perl 5.10 da görünen en önemli değişiklik smart match operator. Bir tür karşılaştırma yapmamıza yarayan operatör array içinde aradığımız scalar değeri bulmamızı sağlıyor. Yeni operatörümüz: "~~". Örnek vermek gerekirse $needle scalarimizi array @haystack içinde arıyorsak, kolayca yeni operatörümüzü kullanıyoruz.
if ($needle ~~ @haystack) ...

Sonuç olarak artık Perl'de tüm kaşılaştırmalar doğru şeyi yapmamızı sağlıyor.

Anti-Spam E-Posta Adresi Oluşturma (Şifreli IP Adresiyle)

FZ

Bugün Perl Rahipleri tapınağında okuduğum ve spam e-posta konusu ile ilgili bu önemli makaleyi ve Perl kodunu sizinle paylaşmak istedim.

Eğer bir şekilde web sayfanızda e-posta adresinizi yayınlamak istiyorsanız yukarıdaki makaledeki Perl betiğini (script) kullanarak oluşturacağınız dinamik bir e-mail adresinin içine o anda sizin e-posta adresinizi çekmeye çalışan robota ya da spamciye dair bilgileri gömebiliyorsunuz. Nasıl yani diyenler okumaya devam edebilir ;-)

Moleküler Biyoloji, Bioinformatik, 21. yy. ve Perl

FZ

60'lı yıllarda uzaya gitmek son moda idi. Sonra hızlı bilgisayarlar, gösterişli teknolojiler geldi, 90'lar böyle geçti. 21. yy ise moleküler biyoloji çağı olacak gibi görünüyor. Bilgisayar teknolojisi ve moleküler biyolojide son 30 yıl içinde kaydedilen ilerlemeler hayat bilimlerinin çehresini bir hayli değiştirdi. Aslında biyoloji o kadar da değişmedi, halen saha çalışması yapan biyologlar günlerce egzotik mekanlarda, zor koşullarda dolanıp garip canlıları inceliyorlar. Ancak hesaplamalı moleküler biyoloji sayesinde `hayat´ kavramına bakışımız epey gelişti. Artık organizmaların iç yapısı hakkında çok daha derinlemesine soru sorabiliyoruz.

Peki bütün bunların, tüm zamanların en fantastik programlama dillerinden biri olan ve doğal dile öykünmesi ile de bilinen Perl programlama dili ile ilgisi nedir? `Hacking´ ve `biyoloji´ kavramları aynı cümle içinde kullanılabilir mi?

Perl Öğreniyoruz - 5

cayfer

1. bölüm 2. bölüm 3. bölüm 4. bölüm
regexp'ler (Regular Expressions)Sözlüğe bakınca
regular: düzenli, muntazam, kurallı, kurallara uygun ve düzenli
expression: deyim, ifade, tabir, anlatım ve dışavurum
karşılıklarını buldum. Bence ingilizce Regular Expression sözcükleri de bu bölümde anlatacağım konuyu tam olarak anlatamıyor; çünkü aslında kavram adını ABD'li matematikçi Kleen'in Düzenli Kümeler Cebiri (Algebra of Regular Sets) üzerindeki çalışmalarından alıyor.