Ev Kişisel Finans Ten Kısa, Faydalı Perl Programlarına Ayarlama - AYAKLAR

Ten Kısa, Faydalı Perl Programlarına Ayarlama - AYAKLAR

İçindekiler:

Video: Revolution OS [2001] - Türkçe Altyazılı 2025

Video: Revolution OS [2001] - Türkçe Altyazılı 2025
Anonim

Bazı insanlar kısa programların çok fazla olmadığını düşünüyor, ancak Perl'de böyle değil. Sadece birkaç satırlık Perl kodu uzun bir yol kat edebilir. Bu makale, kullanışlı ufacık, küçük Perl programlarını listeler.

Benzersiz satırlar toplama

Metin dosyanız çoğaltılmış birçok satır içeriyorsa ve yalnızca benzersiz satırları görmek istiyorsanız, aşağıdaki programla bunları bir dizi (bu durumda @Unique olarak adlandırılır) olarak toplayabilirsiniz:

açık (IN, "somefile. Txt"); @ Benzersiz = ();

while () {sürece ($ i {$ _} ++) {push (@Unique, $ _)}}

Burada hüner, $ i {$ _} ++ ilk defa 0 döndürmesidir anahtarı $ _ ve bundan sonra da sıfır olmayan bir değeri olan bir anahtar / değer çifti oluşturursunuz.

Birden çok boş satırdan kurtulma

Bazı metin dosyalarında, özellikle küçük ekranlarda onları okumayı zorlaştıran ardışık boş satırlar vardır. Aşağıdaki program, iki veya daha fazla boş satırın tüm örneklerini tek bir boş satıra sıkıştırarak bir metin dosyası yazdırır.

Not: Boş bir satır, boşluklar ve sekmeler gibi boşluk karakterlerine sahip olabilir, ancak görüntülenebilir karakterler olamaz.

açık (IN, "somefile. Txt"); $ PrevBlank = 0;

while () {

if (/ S veya veya! $ PrevBlank) {print $ _}

$ PrevBlank = / ^ s * $ /;

}

Yukarıdaki örnekte if ifadesi, satırda boş olmayan karakterler varsa veya önceki satır boş değilse geçerlidir. $ PrevBlank ataması, geçerli satırın boş olup olmadığını, sıfır veya daha fazla boşluk karakteri ve başka bir şey olmadığını belirtir.

Bir dosyadan satırları sıralı olarak yazdırma

Perl'in sıralama işlevinin ne kadar yararlı olduğunu unutmak kolaydır. Aşağıdaki program tüm dosyayı bir diziye okur, diziyi sıralar ve sonucu yazdırır. Kısa ve tatlı ve oldukça önyükleme yapılabilir:

open (IN, "somefile. Txt");

print sort ();

Bir dosyadan bir dizi satır basma

Hiç bir dosyadan sadece bir kaç satır okumak istemiş miydiniz hiç değil mi? Aşağıdaki program sadece bir satır aralığı basmaktadır. Programı iki bağımsız değişkenle çalıştırırsınız: istediğiniz aralık ve dosya adı. Örneğin, programınızı "showline" olarak adlandırırsanız ve somefile'nin 10 ila 20 satırlarını görmek istiyorsanız. txt dosyasında, şu komut satırını kullanırsınız:

showline 10-20 somefile. txt

Aşağıdaki program bir satır aralığı yazdırır:

open (IN, $ ARGV [1]) veya "$ File okunamadı. n”

($ Başlangıç, $ Dur) = split (/ - /, $ ARGV [0]);

için ($ i = 1; $ i <= $ dur; $ i + = 1)

için {$ Line =; if ($ i> = $ Başlangıç) {print $ Line}}

Yalnızca bir dizinde bulunan dosyaları listelemek

Bazen bir dizindeki alt dizinleri yoksaymak ve dosyalara odaklanmak isteyebilirsiniz.Bir dizindeki tüm dosyaları listelemek için aşağıdaki -f dosya sınamasını kullanabilirsiniz:

foreach $ f () {if (-f $ f) {print "$ fn"}}

Bir dizinin boyutuna göre listelenmesi

Dizin listesini, dosya adlarından başka bir şeyle sıralamak için, programınız listedeki adlar ve diğer öğelerden oluşan kayıtların bir listesini tutmalıdır. Kareler, bir anahtar (dosya adı) ve bir değer (diğer dizin bilgileri) içeren kayıtlara sahip olan bu tür bir liste için kullanmak için mükemmeldir. Aşağıdaki program, dizindeki her bir dosyanın boyutunu listeleyen bir karmayı oluşturur ve daha sonra çıktı için öğeleri sıralar. (Bu programı, boyut yerine tarihe göre sıralamak için kolayca değiştirebilirsiniz.)

foreach $ f () {$ i {$ f} = -s $ f};

foreach $ k (sıralama {$ i {$ b} <= & gt $ i {$ a}} anahtarları% i)

{printf "% 8d% sn", $ i {$ k}, $ k }

Dizinleri uzantıyla sıralama

Dosya adının bir bölümüne göre sıralama, dosya boyutu veya dosyanın değiştirilme tarihine göre sıralama işleminden biraz daha zor bir işlemdir. Aşağıdaki program dosya adını ikiye böler ve ikinci bölümde sıralar. Bir UNIX veya Macintosh sisteminde Perl çalıştırıyorsanız, bu program öngörülebilir şekilde, yalnızca dosya adlarında herhangi bir nokta veya nokta bulunmaması halinde çalışır:

foreach $ TamAdı () {

($ Name, $ Ext) = split /./, $ Tam İsim, 2);

itin (@Temp, "$ Extt $ TamAdı");

}

foreach $ Val (sort (@Temp)) {

($ Ext, $ TamAdı) = split (/ t /, $ Val);

print "$ FullNamen";

}

Basit bir hesap makinesi oluşturma

Şimdiye dek bazı hızlı ve kirli matematiğini kesmek için kullanımı basit bir hesap makinesi gerekli muydu? Aşağıdaki program, girdiğiniz herhangi bir denklemin cevaplarını basmak için Perl'in eval işlevini kullanır. Programı sonlandırmak için boş bir satır girin. Kendi hesap makinenizi oluşturmak için şu program var:

while () {

$ i = $ _; chomp ($ i); sürece ($ i) {son}

$ o = değerlendirme ($ i); "Answer = $ on" yazdı;

}

Programı çalıştırdığınızda, aşağıdakine benzer bir değer girebilirsiniz:

((2 ** 8) + (3 ** 8))

ve bu sonuca ulaşırsınız: > Answer = 6817

Bir listeyi rasgele seçme

Perl'de rastgele sayılar üretmek kolaydır, ancak bir dizinin sıralamasını randomize etmek o kadar kolay değildir. Bununla birlikte, bir diziden rasgele bir eleman çekmek için ekleme işlevini kullanabilir ve ardından öğeyi başka bir diziye yerleştirebilirsiniz. Aşağıdaki program @MyList listesini randomize eder:

my @TempList = ();

while (@MyList)

{push (@TempList, splice (@MyList, rand (@MyList), 1))}

@MyList = @TempList;

Buradaki hüner, rand'ın (@MyList) @MyList'deki 0 ve element sayısı arasında bir sayı seçmesi ve splice bu rasgele sayıyı bir tam sayıya çevirir.

Rasgele hatırlatma şifrelerini oluşturma

Bilgisayar kullanıcılarını kolayca tahmin edilemeyen şifreleri bulmaya ikna etmeye çalışmak, bir sistem yöneticisi için en zorlu işlerden biridir. İnsanlar, doğum tarihlerini veya evcil hayvanların adlarını parolalar için kullanmayı ısrar ediyor gibi görünür; güvenlik ihlalleri çocuk oyuncağı haline gelir.

Aşağıdaki program rastgele şifreler üretir. Bununla birlikte, unutulmaya zorlanan harflerin karmakarışık hareketi yerine, ancak parola, telaffuz edilebilen ünsüzler ve sesli harf çiftlerinde göründükleri için biraz anıtsaldır.Birkaç goofy-sounding heceli birlikte dizerek, kolay hatırlanan saçma cümleler üretebilir.

Parolanın her hece 100 sayıdan herhangi birini temsil edebilir; Bu nedenle, votahubo, gibi tek bir dört heceli şifre, programın ürettiği olası 100 milyondan (100'den dördeye kadar) olası parolalardan biridir. Bu şifreleri atayan bir sistem yöneticisine sahip olmak, kullanıcıların kolayca tahmin edebileceklerini düşündükleri şifreleri seçmelerine izin vermekten daha fazla güvenlik sağlar: print "Bir şifre numarası girin"; $ s =;

srand ($ s ^ zaman);

@c = split (/ * /, "bcdfghjklmnprstvwxyz");

@v = split (/ * /, "aeiou");

($ i = 1, $ i <= 4, $ i + = 1) için

{print $ c [int (rand (20))], $ v [int (rand (5))] }

Bu programın ilk iki satırı, rasgele sayılar için tohum başlatır ve sonraki iki satır, 20 harfi içeren (eksi

q ) ve alfabenin 5 harfini oluşturur. For döngüsü sadece dört heceli basar.

Ten Kısa, Faydalı Perl Programlarına Ayarlama - AYAKLAR

Editörün Seçimi

Temel Yahudi Blessings ile kutlayın - mankenler

Temel Yahudi Blessings ile kutlayın - mankenler

Yahudi kutsamaları sıradan ve özel iyiliği takdir etmek ve kutlamak için hatırlatıcıdır , hayatın anları. İşte bilmeniz gereken bazı temel Yahudi nimetleri: Yeni bir şey için kutlamanın kutlanması Barukh Atah Adonai, Eloheynu Melekh ha-olam, Şehri-heh-khi-yanu v'key'manu v'hee-gee-anu laz'man ha-zeh .

Ortak Günlük Blessings ve Dualar Kabala'nın

Ortak Günlük Blessings ve Dualar Kabala'nın

Ortak Günlük Blessings ve Dualar bir nimet vermek. Sabah uyanma üzerine: Bunlar yaygın nimetler Gün boyu teşekkür etme yollarıdır “Seni şefkat ile içimde ruhumu döndü için size, Allah'ı Yaşayan ve sonsuz minnettarım. Sadakati bol, bol miktarda. "...

Bar Mitzvah'ı veya Bat Mitzvah'ı kutluyor - kuklalar

Bar Mitzvah'ı veya Bat Mitzvah'ı kutluyor - kuklalar

Bar Mitzvah "emir oğlu" ve Bat Mitzvah "emirlerin kızı" anlamına gelir. "Yahudi geleneği, kızlar 12, erkek çocuklar 13 yaşına geldiklerinde toplulukta yeni sorumluluklar taşıdığını söylüyor. Geleneksel cemaatlerde, erkeklerin tefillin giymeye ve günlük dua etmeye başlamaları bekleniyor ...

Editörün Seçimi

Facebook'u kullanarak: Genel Online Gizlilik Yap ve Önerilenler

Facebook'u kullanarak: Genel Online Gizlilik Yap ve Önerilenler

Gizlilik gizliliğinizi korur Facebook kullanırken - veya evde, işte veya başka yerde herhangi bir zamanda çevrimiçi olursanız. Aşağıda, çevrimiçi güvenlik ve gizliliğinizin artmasına yardımcı olacak bazı kullanışlı ipuçları bulunmaktadır: Güçlü bir şifre seçin. Büyük harf ve küçük harf, rakam ve sembollerden oluşan bir karışım kullanın. Parolanızı hatırlayabiliyorsanız ... ...

Görsel Sosyal Pazarlama: Facebook'ta Bir Bağlantıyı Eşlik Eden Bir Resim Nasıl Seçilir

Görsel Sosyal Pazarlama: Facebook'ta Bir Bağlantıyı Eşlik Eden Bir Resim Nasıl Seçilir

Bir sosyal pazarlama durumu güncellemesinde bir web sayfasına bir bağlantı ekledikten sonra Facebook, paylaşılan bağlantıya eşlik edecek görüntüler için web sayfasında otomatik olarak arama yaparak daha görsel olarak çekici hale getirir. Bu ifade, kendi web sitenizden veya başka bir web sitesinden içerik paylaşsanız da geçerlidir. Sonrasında ...

Facebook'a Hoş Geldiniz - Facebook profil oluşturma sürecindeki üç adımdan sonra Kişisel Kimlik -adamlarınızı Onaylayın

Facebook'a Hoş Geldiniz - Facebook profil oluşturma sürecindeki üç adımdan sonra Kişisel Kimlik -adamlarınızı Onaylayın

Tamamlandığında (veya seçimlerinize göre atlandığında) sizi Facebook'a davet eden bir sayfaya geliyorsunuz; ekranın üst kısmındaki şeritte, kaydolma işlemini tamamlamak için e-postanıza gitmenizi öneren bir bildirim görüyorsunuz. Şimdi e-postanıza gidin ...

Editörün Seçimi

Photoshop Elements 10'daki Sıvılaştırma Filtresi ile Görüntüleri Bozgula - Yuvarlak Modeller

Photoshop Elements 10'daki Sıvılaştırma Filtresi ile Görüntüleri Bozgula - Yuvarlak Modeller

Photoshop Elements'taki Sıvılaştırma filtresi 10, bir filtreden çok daha fazladır. Sanki sıcak taffymiş gibi bir görüntüyü manipüle etmenize izin veren bir bozulma. Görüntünüzün etkileşimli olarak bükülmesini, çekilmesini, döndürülmesini, sıkışmasını ve şişirilmesini sağlayabilirsiniz. Görüntüyü gösterildiği gibi bir diyet üzerine bile koyabilirsiniz. Aslında ...

Dijital Fotoğrafınıza Balık Gözü Efekti Verin - AYDINLATMA

Dijital Fotoğrafınıza Balık Gözü Efekti Verin - AYDINLATMA

Balık gözü objektifleri fotoğrafçıların fotoğraf çekmesini sağlar 180 derecelik bir bozulma. Bir çok görüntü düzenleyicisinde (Photoshop Elements dahil) balık gözü görünümünü taklit edebilirsiniz. Fotoğrafınızı balık gözü lensi gibi çekilmiş gibi göstermek için:

HDR Fotoğrafçılık ve Doğa Manzarası - AYDINLATMA

HDR Fotoğrafçılık ve Doğa Manzarası - AYDINLATMA

HDR (high-definition range) fotoğraf makinesi olarak bilinen bir yöntem size dijital fotoğrafçılıkla mümkün olandan daha geniş bir renk yelpazesine ve tonale sahip peyzaj ve doğa görüntüleri yaratmak için. HDR fotoğrafçılık, güzel canlı renkler ve karanlık gölgeden en karanlık gölgeye kadar geniş bir dinamik ton dağılımı sergilemek için kullanılır ...