Rumah Keuangan Pribadi Tuning Ke Program Perl Pendek, Berguna yang Berguna

Tuning Ke Program Perl Pendek, Berguna yang Berguna

Daftar Isi:

Video: Week 8 2024

Video: Week 8 2024
Anonim

Beberapa orang percaya bahwa program pendek tidak baik untuk banyak hal, tapi tidak demikian halnya dengan Perl. Hanya beberapa baris kode Perl yang bisa pergi jauh. Artikel ini mencantumkan beberapa program Perl kecil yang mungil.

Mengumpulkan baris unik

Jika file teks Anda memiliki banyak baris yang merupakan duplikat dan Anda hanya ingin melihat baris yang unik, Anda dapat mengumpulkannya ke dalam array (dalam kasus ini, ini disebut @Unique) dengan program berikut:

buka (IN, "somefile. Txt"); @ Unique = ();

sementara () {kecuali ($ i {$ _} ++) {push (@Unique, $ _)}}

Triknya adalah bahwa $ i {$ _} ++ mengembalikan 0 pertama kalinya Anda membuat pasangan nilai kunci dengan $ _ sebagai kunci, dan beberapa nilai bukan nol setelah itu.

Menyingkirkan beberapa baris kosong

Beberapa file teks memiliki beberapa baris kosong berturut-turut, yang membuat mereka sulit dibaca, terutama pada layar kecil. Program berikut mencetak file teks, mengompres semua contoh dari dua atau lebih baris kosong ke dalam satu baris kosong.

Catatan: Baris kosong dapat memiliki karakter spasi di dalamnya, seperti spasi dan tab, namun tidak ada karakter yang dapat ditampilkan.

buka (IN, "somefile. Txt"); $ PrevBlank = 0;

sementara () {

jika (/ S / atau! $ PrevBlank) {print $ _}

$ PrevBlank = / ^ s * $ /;

}

Pernyataan jika di contoh sebelumnya benar jika ada karakter nonblank di telepon atau jika baris sebelumnya tidak kosong. Tugas $ PrevBlank memberitahu Anda apakah baris saat ini kosong, artinya memiliki nol atau lebih karakter spasi dan tidak ada yang lain.

Mencetak baris dari file dalam urutan yang diurutkan

Sangat mudah untuk melupakan betapa bergunanya fungsi sort Perl. Program berikut membaca keseluruhan file ke dalam array, mengurutkan array, dan mencetak hasilnya. Pendek dan manis, dan cukup efisien untuk boot:

open (IN, "somefile. Txt");

cetak sort ();

Mencetak berbagai baris dari sebuah file

Pernahkah Anda ingin membaca beberapa baris dari sebuah file, dan bukan semuanya? Program berikut hanya mencetak berbagai baris. Anda menjalankan program dengan dua argumen: kisaran yang Anda inginkan dan nama file. Misalnya, jika Anda memberi nama program "showline" Anda dan Anda ingin melihat baris 10 sampai 20 dari somefile. File txt, Anda menggunakan command line ini:

showline 10-20 somefile. txt

Program berikut mencetak berbagai baris:

open (IN, $ ARGV [1]) atau mati "Tidak dapat membaca $ File. n ";

($ Start, $ Stop) = split (/ - /, $ ARGV [0]);

untuk ($ i = 1; $ i <= $ stop; $ i + = 1)

{$ Line =; Jika ($ i> = $ Start) {print $ Line}}

Cantumkan hanya file dalam direktori

Kadang-kadang, Anda mungkin ingin mengabaikan subdirektori di direktori dan hanya fokus pada file.Anda dapat menggunakan tes file berikut -f untuk mencantumkan semua file dalam sebuah direktori:

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

Cantumkan sebuah direktori menurut ukuran

Untuk mengurutkan, daftar direktori menurut nama selain namanya, program Anda harus menyimpan daftar catatan yang terdiri dari nama dan item lainnya dalam daftar. Hash sangat bagus untuk digunakan untuk daftar jenis ini yang memiliki catatan dengan kunci (nama file) dan nilai (informasi direktori lainnya). Program berikut membuat hash yang mencantumkan ukuran setiap file dalam direktori dan kemudian mengurutkan item untuk output. (Anda dapat dengan mudah memodifikasi program ini untuk mengurutkan menurut tanggal, bukan berdasarkan ukuran.)

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

foreach $ k (sort {$ i {$ b} <= & gt $ i {$ a}} kunci% i)

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

Sortasi direktori dengan ekstensi

Sortasi oleh sebagian nama file adalah proses yang sedikit lebih sulit daripada menyortir menurut ukuran file atau pada tanggal file tersebut telah dimodifikasi. Program berikut akan memecah nama file menjadi dua dan mengurutkan bagian kedua. Jika Anda menjalankan Perl pada sistem UNIX atau Macintosh, program ini dapat diprediksi hanya jika namafile tidak memiliki periode atau satu periode:

foreach $ FullName () {

($ Name, $ Ext) = split (/. /, $ FullName, 2);

push (@Temp, "$ Extt $ FullName");

}

foreach $ Val (sort (@Temp)) {

($ Ext, $ FullName) = split (/ t /, $ Val);

cetak "$ FullNamen";

}

Membuat kalkulator sederhana

Pernah membutuhkan kalkulator yang mudah digunakan untuk membuat beberapa matematika cepat dan kotor? Program berikut menggunakan fungsi eval Perl untuk mencetak jawaban atas persamaan yang Anda masukkan. Untuk mengakhiri program, masukkan baris kosong. Inilah program untuk membuat kalkulator Anda sendiri:

while () {

$ i = $ _; chomp ($ i); kecuali ($ i) {last}

$ o = eval ($ i); cetak "Answer = $ on";

}

Saat menjalankan program, Anda dapat memasukkan sesuatu seperti berikut:

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

dan dapatkan hasilnya: > Answer = 6817

Mengacak daftar

Dalam Perl, menghasilkan bilangan acak mudah dilakukan, namun mengacak urutan array tidaklah sesederhana itu. Namun demikian, Anda dapat menggunakan fungsi sambatan untuk menarik elemen acak dari sebuah array dan kemudian menempatkan elemen di array lain. Program berikut mengacak daftar @MyList:

my @TempList = ();

sementara (@MyList)

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

@MyList = @TempList;

Triknya adalah rand (@MyList) mengambil angka antara 0 dan jumlah elemen di @MyList, dan sambatan mengubah nomor acak ini menjadi bilangan bulat.

Membangkitkan password mnemonik acak

Mencoba meyakinkan pengguna komputer untuk menemukan kata kunci yang tidak mudah ditebak adalah salah satu pekerjaan yang paling menantang bagi administrator sistem. Orang-orang sepertinya selalu bersikeras menggunakan nama lahir atau nama hewan peliharaan mereka untuk kata kunci - melanggar keamanan kemudian menjadi permainan anak-anak.

Program berikut menghasilkan kata sandi acak. Alih-alih adonan surat yang sulit diingat, bagaimanapun, kata sandinya agak mnemonik karena muncul bersamaan dengan konsonan dan huruf hidup yang bisa diucapkan.Dengan merangkai beberapa suku kata yang konyol, Anda bisa menghasilkan frase omong kosong yang mudah diingat.

Setiap suku kata kata sandi dapat mewakili salah satu dari 100 nomor; Oleh karena itu, satu kata kunci empat suku kata, seperti

votahubo, adalah salah satu dari 100 juta (100 sampai kekuatan keempat) kemungkinan kata kunci yang dihasilkan program. Memiliki administrator sistem menetapkan kata kunci ini memberikan keamanan lebih dari pada membiarkan pengguna memilih kata kunci mereka sendiri yang mudah ditebak: print "Masukkan nomor benih:"; $ s =;

srand ($ s ^ time);

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

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

untuk ($ i = 1; $ i <= 4; $ i + = 1)

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

Dua baris pertama dari program ini menginisialisasi benih untuk nomor acak, dan dua baris berikutnya membuat daftar berisi 20 konsonan (minus

q ) dan 5 huruf hidup alfabet. Untuk loop hanya mencetak empat suku kata.

Tuning Ke Program Perl Pendek, Berguna yang Berguna

Pilihan Editor

Membuat Kartu Ucapan di Microsoft Word 2003 - dummies

Membuat Kartu Ucapan di Microsoft Word 2003 - dummies

Jika Anda ingin membuat sesuatu di Word yang hanya akan menyilaukan seseorang, coba tangan Anda dengan kartu ucapan yang disesuaikan. Untuk mengatur Word agar membuat kartu ucapan dari satu lembar kertas ukuran standar, ikuti langkah-langkah ini: 1. Pilih File -> Page Setup. 2. Klik tab Margins. 3. Pilih Landscape ...

Membuat Index of Word 2007 Document - dummies

Membuat Index of Word 2007 Document - dummies

Jika Anda ingin membuat indeks untuk Word Anda Dokumen 2007, tugas pertama adalah menandai kata atau frasa yang ingin Anda sertakan dalam indeks. Cara yang paling umum untuk melakukannya adalah dengan memasukkan penanda indeks dalam dokumen pada setiap kemunculan setiap item yang ingin Anda tampilkan ...

Editing di Word 2007: Melacak Perubahan dan Review - dummies

Editing di Word 2007: Melacak Perubahan dan Review - dummies

Menulis adalah seni yang sepi ... yaitu , sampai editor muncul. Mereka akan membuat revisi dengan menambahkan karya tulis Anda dengan hati-hati, memindahkan barang-barang, dan menghapus teks (Aduh!). Tidak ada cara untuk mengidentifikasi teks asli Anda dari teks yang dimodifikasi - kecuali jika Anda menggunakan alat Pelacakan Lagu Word 2007. Pelacakan perubahan sebagai ...

Pilihan Editor

Bagaimana Menonaktifkan dan Mengaktifkan Halaman di Squarespace - dummies

Bagaimana Menonaktifkan dan Mengaktifkan Halaman di Squarespace - dummies

Saat Anda melakukan pemeliharaan situs, kemungkinan besar Anda ingin menonaktifkan halaman situs Anda yang sedang dibangun. Squarespace memungkinkan Anda untuk dengan mudah menonaktifkan dan mengaktifkan kembali halaman. Bagaimana cara menonaktifkan halaman di Squarespace Jika Anda ingin menonaktifkan halaman di situs Anda, Anda dapat melakukannya di ...

Bagaimana Menentukan Navigasi Situs Anda di Squarespace - dummies

Bagaimana Menentukan Navigasi Situs Anda di Squarespace - dummies

Template yang Anda pilih di Squarespace mendikte berbagai area navigasi yang Anda miliki di situs Anda. Template Anda mungkin menyediakan area navigasi berikut di Pengelola Konten: Atas / Utama: Semua template memiliki navigasi teratas atau utama. Sekunder: Halaman yang ditambahkan ke area navigasi ini bukan fokus utama situs Anda. Footer: Beberapa template memiliki ...

Bagaimana Menemukan Editor Gaya Squarespace - dummies

Bagaimana Menemukan Editor Gaya Squarespace - dummies

Anda menggunakan Editor Gaya di Squarespace kapan saja Anda perlu memodifikasi desain situs Anda atau elemen tertentu di situs Anda. Style Editor adalah bagian dari mode Style, yang Anda akses di area Preview. Ikuti langkah-langkah ini untuk memuat Editor Gaya di browser Anda: Masuk ke situs web Anda. Anda ...

Pilihan Editor

Bagaimana Memodifikasi Master Slide di PowerPoint 2016 - dummies

Bagaimana Memodifikasi Master Slide di PowerPoint 2016 - dummies

Jika Anda tidak menyukai tata letak dari slide Anda dalam presentasi PowerPoint 2016, hubungi Master Slide dan lakukan sesuatu tentang hal itu, seperti yang ditunjukkan pada langkah-langkah ini: Buka Slide Master View dengan membuka tab View pada Ribbon dan kemudian klik tombol Slide Master, yang terdapat dalam Presentasi Grup tampilan Sebagai alternatif, ...

Bagaimana Memodifikasi Grafis SmartArt di PowerPoint - dummies

Bagaimana Memodifikasi Grafis SmartArt di PowerPoint - dummies

Setelah membuat grafik SmartArt dalam presentasi PowerPoint Anda, Anda mungkin ingin mengubahnya. Modifikasi dapat mencakup perubahan jenis atau tata letak grafis, menambah atau menghapus bentuk, dan mengubah urutan bentuk bentuk. Pada slide 1, klik bingkai grafis SmartArt untuk memilih keseluruhan grafik. Klik SmartArt Tools ...