Your SlideShare is downloading. ×
Tutorial perl programming ind ver
Tutorial perl programming ind ver
Tutorial perl programming ind ver
Tutorial perl programming ind ver
Tutorial perl programming ind ver
Tutorial perl programming ind ver
Tutorial perl programming ind ver
Tutorial perl programming ind ver
Tutorial perl programming ind ver
Tutorial perl programming ind ver
Tutorial perl programming ind ver
Tutorial perl programming ind ver
Tutorial perl programming ind ver
Tutorial perl programming ind ver
Tutorial perl programming ind ver
Tutorial perl programming ind ver
Tutorial perl programming ind ver
Tutorial perl programming ind ver
Tutorial perl programming ind ver
Tutorial perl programming ind ver
Tutorial perl programming ind ver
Tutorial perl programming ind ver
Upcoming SlideShare
Loading in...5
×

Thanks for flagging this SlideShare!

Oops! An error has occurred.

×
Saving this for later? Get the SlideShare app to save on your phone or tablet. Read anywhere, anytime – even offline.
Text the download link to your phone
Standard text messaging rates apply

Tutorial perl programming ind ver

1,158

Published on

Tutorial perl programming indonesia version

Tutorial perl programming indonesia version

Published in: Education, Technology
0 Comments
0 Likes
Statistics
Notes
  • Be the first to comment

  • Be the first to like this

No Downloads
Views
Total Views
1,158
On Slideshare
0
From Embeds
0
Number of Embeds
0
Actions
Shares
0
Downloads
78
Comments
0
Likes
0
Embeds 0
No embeds

Report content
Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
No notes for slide

Transcript

  1. By : Qrembiezs I
  2. A Basic ProgramContoh :#!/usr/local/bin/perl## Program to do the obvious#print Hello world.; # Print a messagePenjelasan :Baris Pertama Dalam bahasa Perl semua nya di awali dengan ini#!/usr/local/bin/perl walaupun ini mungkin berbeda dari sistem ke sistem. Baris ini memerintahkan mesin,apa yang harus dilakukan dengan file tersebut ketika dijalankanComments and statementsComments bisa di masukkan ke program dengan symbol # dan yg lain nya di abaikan kecuali baris pertama Satu-satunyacara untuk meregangkan komentar dari beberapa baris adalah dengan menggunakan # pada setiap baris Segala sesuatuyang lain adalah pernyataan Perl yang harus diakhiri dengan titik koma, seperti baris terakhir di atas.Simple printingFungsi cetak output beberapa informasi. Dalam kasus di atas ia akan mencetak string literal Hello world. dan tentu sajapernyataan diakhiri dengan titik koma.Qta dapat menemukan program di atas menghasilkan hasil yang sedikit tak terduga.Jadi, hal berikutnya yang harus dilakukan adalah dengan menjalankannya. Running The ProgramKetik program contoh menggunakan editor teks, dan simpan. Emacs adalah editor yang baik untuk digunakan karenamempunyai modus sendiri Perl yang format baris baik ketika anda menekan tab (menggunakan `perl-mode Mx ). Tapiseperti biasa, gunakan mana yang Anda paling nyaman. Setelah telah memasukkan dan menyimpan program, pastikan filetersebut executable dengan menggunakan perintahchmod u+x progname
  3. di prompt UNIX, dimana progname adalah nama file program. Sekarang untuk menjalankan program ketik saja salah satudari berikut pada prompt.perl progname./prognameprognameJika ada yang salah maka kita bisa mendapatkan pesan kesalahan, atau Anda mungkin mendapatkan sesuatu. Kita selaludapat menjalankan program ini tanpa peringatan menggunakan perintahperl -w prognamepada prompt. Ini akan menampilkan peringatan dan lainnya (mudah-mudahan) pesan membantu sebelum mencoba untukmenjalankan program. Untuk menjalankan program dengan debugger gunakan perintahperl -d prognameSaat file dijalankan Perl pertama mengkompilasi dan kemudian menjalankan versi yang dikompilasi. Jadi setelah jeda singkatuntuk kompilasi program harus berjalan cukup cepat. Ini juga menjelaskan mengapa kita bisa mendapatkan error kompilasiketika kita mengeksekusi file Perl yang hanya terdiri dari teks.Pastikan program anda bekerja sebelum melanjutkan. Output program mungkin sedikit tak terduga - setidaknya tidak sangatcantik. Kita akan melihat berikutnya di variabel dan kemudian dasi ini dengan mencetak lebih cantik. Scalar VariableJenis yang paling dasar dari variabel di Perl adalah variabel skalar. Variabel skalar memegang kedua string dan angka, danyang luar biasa dalam string dan angka benar-benar saling dipertukarkan. Sebagai contoh,$priority = 9;set variabel skalar $ prioritas sampai 9, tetapi Anda juga dapat menetapkan string ke variabel yang sama persis:$priority = high;Perl juga menerima nomor sebagai string, seperti ini:$priority = 9;$default = 0009;dan masih bisa mengatasi dengan aritmatika dan operasi lainnya. Dalam nama variabel umum terdiri dari angka, huruf dangaris bawah, tetapi mereka tidak harus mulai dengan nomor dan _ $ variabel adalah khusus, seperti yang akan kita lihatnanti. Juga, Perl adalah case sensitive, sehingga $ a dan $ A yang berbeda.
  4. Operation And AssignmentPerl menggunakan semua operator aritmatika bahasa C:$a = 1 + 2; # Add 1 and 2 and store in $a$a = 3 - 4; # Subtract 4 from 3 and store in $a$a = 5 * 6; # Multiply 5 and 6$a = 7 / 8; # Divide 7 by 8 to give 0.875$a = 9 ** 10; # Nine to the power of 10$a = 5 % 2; # Remainder of 5 divided by 2++$a; # Increment $a and then return it$a++; # Return $a and then increment it--$a; # Decrement $a and then return it$a--; # Return $a and then decrement itDan untuk string Perl di antara nya seperti ini$a = $b . $c; # Concatenate $b and $c$a = $b x $c; # $b repeated $c timesUntuk menetapkan nilai Perl$a = $b; # Assign $b to $a$a += $b; # Add $b to $a$a -= $b; # Subtract $b from $a$a .= $b; # Append $b onto $aPerhatikan bahwa ketika Perl memberikan nilai dengan $ a = $ b itu membuat salinan dari $ b dan kemudian menetapkanbahwa untuk $ a. Oleh karena itu waktu berikutnya Anda mengubah b $ itu tidak akan mengubah $ a.Operator lain yang bisa ditemukan pada halaman manual perlop. Tipe pria perlop pada prompt.InterpolationKode berikut mencetak menggunakan concatenation:$a = apples;$b = pears;print $a. and .$b;Akan lebih baik untuk menyertakan hanya satu string dalam laporan cetak akhir, tetapi garisprint $a and $b;mencetak harfiah $ a dan $ b yang tidak sangat membantu. Sebaliknya, kita dapat menggunakan tanda kutip ganda di tempattanda kutip tunggal:print "$a and $b";
  5. Tanda kutip ganda kekuatan interpolasi dari setiap kode, termasuk variabel menafsirkan. Ini adalah jauh lebih bagusdaripada pernyataan asli kami. Kode lain yang diinterpolasi menyertakan karakter khusus seperti baris baru dan tab. Kode n adalah baris baru dan t adalah tab.ExerciseLatihan ini adalah untuk menulis ulang program Halo dunia sehingga (a) string ditugaskan untuk variabel dan (b) variabel inikemudian dicetak dengan karakter baris baru. Gunakan tanda kutip ganda dan tidak menggunakan operator concatenation.. Array Variablesvariabel array yang merupakan daftar skalar (yaitu angka dan string). Variabel Array memiliki format yang sama sebagaivariabel skalar kecuali bahwa mereka diawali oleh simbol @.Pernyataan :@food = ("apples", "pears", "eels");@music = ("whistle", "flute");memberikan daftar tiga elemen pada variabel array makanan @ dan dua daftar elemen pada variabel array @ musik. Arraydiakses dengan menggunakan indeks dimulai dari 0, dan tanda kurung siku digunakan untuk menentukan indeks.$food[2]Perhatikan bahwa @ telah berubah menjadi $ karena scalarArray assignmentsdalam semua Perl, ekspresi yang sama dalam konteks yang berbeda dapat menghasilkan hasil yang berbeda. Penugasanpertama di bawah meledak variabel musik @ sehingga setara dengan tugas kedua.@moremusic = ("organ", @music, "harp");@moremusic = ("organ", "whistle", "flute", "harp");Hal ini seharusnya menyarankan cara menambahkan elemen ke array. Cara yang lebih rapi menambahkan elemen adalahdengan menggunakan pernyataanpush(@food, "eggs");yang mendorong eggs ke akhir array @ food. Untuk mendorong dua atau lebih item ke salah satu penggunaan array dalambentuk sebagai berikut:push(@food, "eggs", "lard");push(@food, ("eggs", "lard"));push(@food, @morefood);Fungsi mendorong mengembalikan panjang daftar baru.
  6. Untuk menghapus item terakhir dari daftar dan mengembalikannya menggunakan fungsi pop. Dari daftar asli kita fungsikembali pop eels dan @ food sekarang memiliki dua elemen:$grub = pop(@food); # Now $grub = "eels"Hal ini juga memungkinkan untuk menetapkan array ke sebuah variabel skalar. Seperti biasa konteks adalah penting.$f = @food;memberikan panjang @food, tapi$f = "@food";mengubah daftar ke dalam string dengan spasi di antara setiap elemen. Ruang ini bisa digantikan oleh string lain denganmengubah nilai dari variabel $ khusus ". Variabel ini hanyalah salah satu dari banyak variabel Perl khusus, yang sebagianbesar memiliki nama aneh.Array juga dapat digunakan untuk membuat beberapa tugas untuk variabel skalar:($a, $b) = ($c, $d); # Same as $a=$c; $b=$d;($a, $b) = @food; # $a and $b are the first two # items of @food.($a, @somefood) = @food; # $a is the first item of @food # @somefood is a list of the # others.(@somefood, $a) = @food; # @somefood is @food and # $a is undefined.karena array serakah, dan @ somefood akan menelan sebanyak @food. Oleh karena itu sebaiknya dihindari.Anda mungkin ingin mencari indeks dari elemen terakhir dari daftar. Untuk melakukan ini untuk array @food menggunakanexpression$#foodDisplaying ArraysKarena konteks begitu penting, tidak mengejutkan kalau memiliki banyak procedure dengan hasil yang berbeda-bedaprint @food; # By itselfprint "@food"; # Embedded in double quotesprint @food.""; # In a scalar context
  7. File HandlingBerikut adalah program perl dasar yang tidak sama dengan perintah cat UNIX pada file tertentu.#!/usr/local/bin/perl## Program to open the password file, read it in,# print it, and close it again.$file = /etc/passwd; # Name the fileopen(INFO, $file); # Open the file@lines = <INFO>; # Read it into an arrayclose(INFO); # Close the fileprint @lines; # Print the arrayFungsi buka membuka file untuk input (yaitu untuk membaca). Parameter pertama adalah filehandle yang memungkinkanPerl untuk mengacu ke file di masa depan. Parameter kedua adalah ungkapan yang menunjukkan nama file. Jika nama filediberikan dalam tanda kutip maka diambil harfiah tanpa ekspansi shell. Jadi ungkapan ~ / catatan / todolist tidak akandiinterpretasikan dengan sukses. Jika Anda ingin memaksa ekspansi shell kemudian gunakan tanda kurung siku: yaitu,gunakan <~ / catatan / todolist> gantinya.Fungsi dekat memberitahu Perl untuk menyelesaikan dengan file tersebut. Ada beberapa poin yang berguna untukmenambah ini diskusi tentang filehandling. Pertama, pernyataan terbuka juga dapat menentukan sebuah file untuk outputdan untuk menambahkan serta masukan. Untuk melakukan hal ini, prefiks nama file dengan> untuk output dan>> untukmenambahkan:open(INFO, $file); # Open for inputopen(INFO, ">$file"); # Open for outputopen(INFO, ">>$file"); # Open for appendingopen(INFO, "<$file"); # Also open for inputKedua, jika Anda ingin mencetak sesuatu ke file Anda telah dibuka untuk output maka anda dapat menggunakan pernyataanprint dengan parameter tambahan. Untuk mencetak string ke file dengan menggunakan filehandle INFOprint INFO "This line goes to the file.n";Ketiga, Anda dapat menggunakan berikut untuk membuka standard input (biasanya keyboard) dan output standar (biasanyalayar) masing-masing:open(INFO, -); # Open standard inputopen(INFO, >-); # Open standard output
  8. Dalam program di atas informasi yang dibaca dari file. File adalah file INFO dan untuk membaca dari itu Perl menggunakankurung siku. Jadi pernyataan@lines = <INFO>;membaca file dinotasikan dengan filehandle ke dalam array @ lines. Perhatikan bahwa ungkapan <INFO> membaca di fileseluruhnya. Hal ini karena membaca terjadi dalam konteks variabel array. Jika @ lines digantikan oleh scalar $ Lines makahanya satu baris berikutnya akan dibaca masuk Dalam salah kasus setiap baris disimpan lengkap dengan karakter barisbaru nya di akhir. Control StructurePerl banyak mendukung berbagai jenis struktur kontrol yang cenderung seperti di C, tetapi sangat mirip dengan Pascal,juga. Di sini kita membahas beberapa dari mereka.ForeachUntuk pergi melalui setiap baris array atau struktur daftar-seperti lainnya (seperti baris dalam file) Perl menggunakanstruktur foreach.foreach $morsel (@food) # Visit each item in turn # and call it $morsel{ print "$morseln"; # Print the item print "Yum yumn"; # That was nice}Tindakan yang harus dilakukan setiap kali yang tertutup di sebuah blok kurung kurawal. Pertama kali melalui blok $morselditetapkan nilai dari item pertama dalam array @ food. Kali ini diberi nilai dari item kedua, dan seterusnya sampai akhir.Jika @ food kosong untuk memulai dengan maka blok pernyataan di bawah ini tidak pernah dijalankan.TestingThe next few structures rely on a test being true or false. In Perl any non-zero number and non-empty string is counted astrue. The number zero, zero by itself in a string, and the empty string are counted as false. Here are some tests onnumbers and strings.$a == $b # Is $a numerically equal to $b? # Beware: Dont use the = operator.$a != $b # Is $a numerically unequal to $b?$a eq $b # Is $a string-equal to $b?$a ne $b # Is $a string-unequal to $b?
  9. Anda juga dapat menggunakan logical and, atau and not($a && $b) # Is $a and $b true?($a || $b) # Is either $a or $b true?!($a) # is $a false?ForPerl memiliki untuk struktur yang meniru C.for (initialise; test; inc){ first_action; second_action; etc}Pertama dari semua pernyataan menginisialisasinya untuk dijalankan.Kemudian blok tindakan dijalankan. Setelah setiap kaliblok dilaksanakan inc terjadi. Berikut adalah contoh untuk loop untuk mencetak angka 0 sampai 9.for ($i = 0; $i < 10; ++$i) # Start with $i = 1 # Do it while $i < 10 # Increment $i before repeating{ print "$in";}While And UntilBerikut ini adalah sebuah program yang membaca input beberapa dari keyboard dan tidak akan berlanjut sampai itu adalahpassword yang benar#!/usr/local/bin/perlprint "Password? "; # Ask for input$a = <STDIN>; # Get inputchop $a; # Remove the newline at endwhile ($a ne "fred") # While input is wrong...{ print "sorry. Again? "; # Ask again $a = <STDIN>; # Get input again chop $a; # Chop off newline again}kode dijalankan sementara input tidak sama dengan password. Struktur sementara harus cukup jelas, tapi ini adalahkesempatan untuk melihat beberapa hal. Pertama, kita dapat kita baca dari standard input (keyboard) tanpa membuka fileyang pertama. Kedua, ketika sandi dimasukkan $ a diberi nilai termasuk karakter baris baru di akhir. Fungsi memotongmenghapus karakter terakhir dari string yang dalam hal ini adalah baris baru.
  10. Untuk menguji hal sebaliknya kita bisa menggunakan sampai pernyataan hanya dalam cara yang sama. Ini mengeksekusiblok berulang kali sampai ekspresi bernilai true.Yang bermanfaat lainya adalah menempatkan while atau until cek pada akhir blok pernyataan daripada di awal. Ini akanmembutuhkan kehadiran operator untuk menandai awal blok dan uji di akhir. Sekali lagi pesan dalam program password diatas maka dapat ditulis seperti ini.#!/usr/local/bin/perldo{ "Password? "; # Ask for input $a = <STDIN>; # Get input chop $a; # Chop off newline}while ($a ne "fred") # Redo while wrong input ConditionalsTentu saja Perl juga memungkinkan if/ then / else statements.if ($a){ print "The string is not emptyn";}else{ print "The string is emptyn";}Untuk ini, ingatlah bahwa sebuah string kosong dianggap false. Hal ini juga akan memberikan "empty" terjadi jika $ a adalahstring 0.Hal ini juga memungkinkan untuk menyertakan lebih banyak alternatif dalam sebuah pernyataan bersyarat:if (!$a) # The ! is the not operator{ print "The string is emptyn";}elsif (length($a) == 1) # If above fails, try this{ print "The string has one charactern";}elsif (length($a) == 2) # If that fails, try this{ print "The string has two charactersn";}else # Now, everything has failed{ print "The string has lots of charactersn";}
  11. Dalam hal ini, penting untuk memperhatikan bahwa pernyataan else if benar-benar memiliki "e" yang hilang. String MatchingSalah satu fitur yang paling berguna dari Perl (jika tidak fitur yang paling berguna) adalah fasilitas string manipulasi nyakuat. Di jantung ini adalah ekspresi reguler (RE) yang dibagi oleh banyak utilitas UNIX lainnya.Reguler ExpressionEkspresi reguler terkandung dalam garis miring, dan mencocokkan terjadi dengan operator ~ =. Ungkapan berikut ini benarjika string muncul dalam variabel $ setence.$sentence =~ /the/RE adalah case sensitive, jadi$sentence = "The quick brown fox";maka match di atas akan false. Operator! ~ digunakan untuk bercak Non Match. Pada contoh di atas$sentence !~ /the/benar karena string tidak muncul di $sentenceThe $_ special variableKali ini kita akan menggunakan Conditional sebagaiif ($sentence =~ /under/){ print "Were talking about rugbyn";}Ini akan mencetak pesan jika kita memasuk kan code berikut ini$sentence = "Up and under";$sentence = "Best winkles in Sunderland";Tetapi akan lebih mudah jika kita memberikan kalimat tersebut pada variabel khusus $which, tentu saja scalar. Jika kitamelakukan hal ini maka kita bisa menghindari penggunaan match dan operator non-match dan di atas dapat ditulis hanyasebagai
  12. if (/under/){ print "Were talking about rugbyn";}$ Variabel adalah bentuk default untuk operasi Perl, banyak dan cenderung akan digunakanMore on REsDalam sebuah RE ada banyak karakter khusus, dan inilah yang baik memberikan kekuasaan mereka dan membuat merekaterlihat sangat rumit. Yang terbaik untuk membangun penggunaan Res perlahan; penciptaan mereka dapat menjadi sesuatudari sebuah bentuk seni.Berikut adalah beberapa Re karakter khusus dan maknanya. # Any single character except a newline^ # The beginning of the line or string$ # The end of the line or string* # Zero or more of the last character+ # One or more of the last character? # Zero or one of the last characterdan di sini adalah contoh beberapa matching. Ingat yang harus dilampirkan dalam garis miring /.../ untuk digunakan.t.e # t followed by anthing followed by e # This will match the # tre # tle # but not te # tale^f # f at the beginning of a line^ftp # ftp at the beginning of a linee$ # e at the end of a linetle$ # tle at the end of a lineund* # un followed by zero or more d characters # This will match un # und # undd # unddd (etc).* # Any string without a newline. This is because # the . matches anything except a newline and # the * means zero or more of these.^$ # A line with nothing in it.Ada lebih banyak pilihan. Square kurung digunakan untuk mencocokkan salah satu karakter di dalamnya. Di dalam kurungpersegi - menunjukkan "antara " dan sebuah ^ pada mulanya berarti "tidak":
  13. [qjk] # Either q or j or k[^qjk] # Neither q nor j nor k[a-z] # Anything from a to z inclusive[^a-z] # No lower case letters[a-zA-Z] # Any letter[a-z]+ # Any non-zero sequence of lower case lettersPada titik ini Anda mungkin dapat melompat ke akhir dan melakukan setidaknya sebagian besar latihan. Sisanya sebagianbesar hanya untuk referensi.Sebuah bar vertikal | merupakan "atau" dan tanda kurung (...) dapat digunakan untuk hal-hal grup bersama:jelly|cream # Either jelly or cream(eg|le)gs # Either eggs or legs(da)+ # Either da or dada or dadada or...Dan ini adalah bentuk special char nyan # A newlinet # A tabw # Any alphanumeric (word) character. # The same as [a-zA-Z0-9_]W # Any non-word character. # The same as [^a-zA-Z0-9_]d # Any digit. The same as [0-9]D # Any non-digit. The same as [^0-9]s # Any whitespace character: space, # tab, newline, etcS # Any non-whitespace characterb # A word boundary, outside [] onlyB # No word boundaryJelas karakter seperti $, |, [,), , / dan seterusnya adalah kasus-kasus aneh dalam ekspresi reguler. Jika Anda ingin cocokuntuk salah satu dari mereka maka Anda harus mendahului itu dengan backslash. Jadi:| # Vertical bar[ # An open square bracket) # A closing parenthesis* # An asterisk^ # A carat symbol/ # A slash # A backslash
  14. Beberapa contoh dari RE[01] # Either "0" or "1"/0 # A division by zero: "/0"/ 0 # A division by zero with a space: "/ 0"/s0 # A division by zero with a whitespace: # "/ 0" where the space may be a tab etc./ *0 # A division by zero with possibly some # spaces: "/0" or "/ 0" or "/ 0" etc./s*0 # A division by zero with possibly some # whitespace./s*0.0* # As the previous one, but with decimal # point and maybe some 0s after it. Accepts # "/0." and "/0.0" and "/0.00" etc and # "/ 0." and "/ 0.0" and "/ 0.00" etc. Substitution And TranslationSerta mengidentifikasi ekspresi reguler Perl dapat membuat substitusi berdasarkan pertandingan tersebut. Cara untukmelakukan ini adalah dengan menggunakan fungsi yang dirancang untuk meniru cara substitusi dilakukan dalam editor teksvi. Sekali lagi operator pertandingan yang digunakan, dan sekali lagi jika dihilangkan maka substitusi diasumsikanberlangsung dengan $Variable.Untuk mengganti terjadinya london oleh London pada string kalimat $ kita menggunakan ungkapan$sentence =~ s/london/London/dan untuk melakukan hal yang sama dengan $ variabel, hanyas/london/London/Perhatikan bahwa dua ekspresi reguler (london dan London) yang dikelilingi oleh total tiga garis miring. Hasil dari ungkapanini adalah jumlah substitusi dibuat, sehingga sangat baik 0 (false) atau 1 (true) dalam kasus ini.
  15. OptionsContoh ini hanya mengganti terjadinya string pertama, dan mungkin bahwa akan ada lebih dari satu string seperti kita inginmengganti. Untuk membuat substitusi global slash terakhir diikuti oleh a g sebagai berikut:s/london/London/gwhich terntu saja bisa digunakan dalam $Variable. Sekali lagi ekspresi mengembalikan jumlah substitusi dibuat, yang adalah0 (false) atau sesuatu yang lebih besar dari 0 (benar).Jika kita ingin juga mengganti lOndon, lonDON, LoNDoN dan sebagainya maka kita bisa menggunakans/[Ll][Oo][Nn][Dd][Oo][Nn]/London/gtetapi cara yang lebih mudah adalah dengan menggunakan opsi i (untuk "abaikan"). Ekspresis/london/London/giakan membuat substitusi global mengabaikan kasus. Pilihan i juga digunakan dalam /.../ regular expression match.Remembering PaternsIni sering berguna untuk mengingat pola-pola yang telah cocok sehingga mereka dapat digunakan lagi. Kebetulan bahwa apapun yang cocok dalam kurung akan dikenang dalam variabel $ 1,...,$ 9. String ini juga dapat digunakan dalam ekspresireguler yang sama (atau substitusi) dengan menggunakan kode-kode khusus RE 1,..., 9. Misalnya$_ = "Lord Whopper of Fibbing";s/([A-Z])/:1:/g;print "$_n";akan menggantikan setiap huruf huruf besar oleh surat dikelilingi oleh titik dua. Ini akan mencetak: L: Ord: W: hopper dari: F:ibbing. Variabel Variabel $ 1,...,$ 9 adalah read-onlyContoh lain nyaif (/(b.+b) 1/){ print "Found $1 repeatedn";}akan mengidentifikasi kata-kata diulang. Setiap b mewakili batas kata dan + cocok setiap string yang tidak kosong., jadi b. + b match apapun antara dua batas kata. Ini kemudian diingat oleh tanda kurung dan disimpan sebagai 1 untukekspresi reguler dan sebagai $ 1 untuk seluruh program.
  16. Berikut swap karakter pertama dan terakhir dari garis dalam variabels/^(.)(.*)(.)$/321/The ^ dan $ match awal dan akhir baris. Menyimpan kode 1 karakter pertama, sedangkan 2 kode menyimpan segalasesuatu yang lain sampai karakter terakhir yang disimpan dalam kode 3. Kemudian bahwa seluruh baris diganti dengan 1dan 3Setelah matching, qta dapat menggunakan variabel read-only khusus $ `dan $ & dan $ untuk menemukan apa yang cocoksebelum, selama dan setelah pencarian. Jadi setelah.$_ = "Lord Whopper of Fibbing";/pp/;Akhirnya pada subjek pola mengingat hal itu layak mengetahui bahwa dalam garis miring dari sebuah pertandingan ataubeberapa variabel substitusi yang diinterpolasi. Jadi$search = "the";s/$search/xxx/g;akan menggantikan dengan xxx. Jika untuk mengganti maka kita tidak dapat melakukan s / $ searchre / xxx / karena iniakan diinterpolasi sebagai searchre $ variabel. Sebaliknya kita harus meletakkan nama variabel dalam kurung kurawalsehingga kode menjadi$search = "the";s/${search}re/xxx/;
  17. SPLITSebuah fungsi yang sangat berguna di Perl, yang terbagi atas string dan tempat ke dalam array. Fungsi menggunakanekspresi reguler dan sebagai karya biasa pada variabel _ $ kecuali ditentukanSplit Fuction digunakan seperti ini :$info = "Caine:Michael:Actor:14, Leafy Drive";@personal = split(/:/, $info);Memiliki effect keseluruhan yg sama, seperti@personal = ("Caine", "Michael", "Actor", "14, Leafy Drive");Jika kita memiliki informasi yang disimpan dalam variabel $ _ maka kita hanya bisa menggunakan ini@personal = split(/:/);Jika bidang yang dibagi oleh jumlah titik dua maka kita dapat menggunakan kode RE untuk mendapatkan pembulatan code$_ = "Capes:Geoff::Shot putter:::Big Avenue";@personal = split(/:+/);Bisa juga kayak gini@personal = ("Capes", "Geoff", "Shot putter", "Big Avenue");Tapi yang ini$_ = "Capes:Geoff::Shot putter:::Big Avenue";@personal = split(/:/);Akan menjadi seperti ini@personal = ("Capes", "Geoff", "", "Shot putter", "", "", "Big Avenue");Sebuah kata dapat dibagi ke dalam karakter, split kalimat menjadi kata-kata dan paragraf dibagi menjadi kalimat:@chars = split(//, $word);@words = split(/ /, $sentence);@sentences = split(/./, $paragraph);Dalam kasus pertama string nol cocok antara karakter masing-masing, dan itulah sebabnya array karakter @ adalah arraykarakter - yaitu sebuah array dari string dengan panjang 1.
  18. Associative ArraysDaftar array biasa memungkinkan kita untuk mengakses elemen mereka dengan nomor. Elemen pertama dari arraymakanan adalah $ makanan @ [0]. Elemen kedua adalah $ makanan [1], dan seterusnya. Tetapi Perl juga memungkinkan kitauntuk membuat array yang diakses oleh string. Ini disebut array asosiatif.Untuk mendefinisikan sebuah array asosiatif kita menggunakan notasi kurung biasa, tapi array itu sendiri diawali dengantanda%. Misalkan kita ingin membuat sebuah array orang dan usia mereka. Ini akan terlihat seperti ini:%ages = ("Michael Caine", 39, "Dirty Den", 34, "Angie", 27, "Willy", "21 in dog years", "The Queen Mother", 108);Sekarang kita dapat menemukan usia seseorang dengan ekspresi berikut$ages{"Michael Caine"}; # Returns 39$ages{"Dirty Den"}; # Returns 34$ages{"Angie"}; # Returns 27$ages{"Willy"}; # Returns "21 in dog years"$ages{"The Queen Mother"}; # Returns 108Perhatikan bahwa setiap daftar seperti array tanda% telah berubah menjadi $ untuk mengakses sebuah elemen tertentukarena unsur yang skalar. Tidak seperti array daftar indeks (dalam hal ini nama orang) terlampir dalam kurung kurawal,gagasan bahwa array asosiatif yang lebih bagus dari array daftar.Array asosiatif dapat dikonversi kembali ke dalam array daftar hanya dengan menugaskan ke variabel array daftar. Sebuaharray daftar dapat dikonversi menjadi array asosiatif dengan menugaskan ke variabel array asosiatif. Idealnya array daftarakan memiliki bahkan jumlah elemen:@info = %ages; # @info is a list array. It # now has 10 elements$info[5]; # Returns the value 27 from # the list array @info%moreages = @info; # %moreages is an associative # array. It is the same as %ages
  19. OperatorArray asosiatif tidak memiliki untuk elemen (mereka seperti tabel hash) tetapi apakah itu mungkin untuk mengakses semuaelemen pada gilirannya menggunakan fungsi tombol dan fungsi nilai-nilai:foreach $person (keys %ages){ print "I know the age of $personn";}foreach $age (values %ages){ print "Somebody is $agen";}Ketika kunci disebut ia mengembalikan daftar kunci (indeks) dari array asosiatif. Ketika nilai-nilai disebut mengembalikandaftar dari nilai-nilai dari array. Fungsi-fungsi kembali daftar mereka dalam urutan yang sama, tapi urutan ini tidak adahubungannya dengan urutan elemen telah dimasukkan.Ketika kunci dan nilai disebut dalam konteks skalar mereka kembalijumlah kunci / pasangan nilai dalam array asosiatif.Ada juga setiap fungsi yang mengembalikan daftar dua unsur kunci dan nilainya. Setiap kali each disebut mengembalikankunci lain / pasangan nilai:while (($person, $age) = each(%ages)){ print "$person is $agen";}
  20. SubroutinesBahasa Program Perl memungkinkan pengguna untuk menentukan fungsi mereka sendiri, yang disebut Subroutines. Merekamungkin ditempatkan di manapun dalam program Anda, tetapi mungkin lebih baik untuk menempatkan mereka semua diawal atau semua di akhir.sub mysubroutine{ print "Not a very interesting routinen"; print "This does the same thing every timen";}terlepas dari setiap parameter yang mungkin kita lewati. Semua ini akan bekerja untuk memanggil Subroutines . Perhatikanbahwa Subroutines disebut dengan karakter & di depan nama:&mysubroutine; # Call the subroutine&mysubroutine($_); # Call it with a parameter&mysubroutine(1+2, $_); # Call it with two parametersParametersDalam kasus di atas parameter yang diterima tetapi diabaikan. Ketika Subroutines disebut parameter apapun dikirimkansebagai daftar dalam variabel array yang daftar khusus @ _. Variabel ini sama sekali tidak ada hubungannya denganvariabel skalar $ _. Para Subroutines berikut hanya mencetak daftar itu disebu. Hal ini diikuti oleh beberapa contohpenggunaannya.sub printargs{ print "@_n";}&printargs("perly", "king"); # Example prints "perly king"&printargs("frog", "and", "toad"); # Prints "frog and toad"Sama seperti setiap array daftar lainnya unsur-unsur individual dari @ _ dapat diakses dengan square bracket notationsub printfirsttwo{ print "Your first argument was $_[0]n"; print "and $_[1] was your secondn";}Sekali lagi harus ditekankan bahwa di indek skalar $ _ [0] dan $ _ [1] dan sebagainya telah ada denganskalar $ _ yang juga dapat digunakan tanpa takut crash.
  21. Returning ValuesSubroutines selalu dievaluasi di akhir. Subroutines ini mengembalikan maksimal dua parameter masukan. Sebuah contohpenggunaannya berikut.sub maximum{ if ($_[0] > $_[1]) { $_[0]; } else { $_[1]; }}$biggest = &maximum(37, 24); # Now $biggest is 37Para & printfirsttwo Subroutines di atas juga mengembalikan nilai, dalam hal ini 1. Ini karena hal terakhir yang s Subroutineslakukan adalah pernyataan cetak dan hasil dari pernyataan cetak yang sukses adalah selalu 1.Local VariableLocal Variable Subroutines, dan jadi tentu saja adalah $ _ [0], $ _ [1], $ _ [2], dan seterusnya. Variabel lain dapat dibuatlokal juga, dan ini berguna jika kita ingin memulai mengubah parameter masukan. Tes Subroutines berikut untuk melihatapakah ada di dalam satu string lain.sub inside{ local($a, $b); # Make local variables ($a, $b) = ($_[0], $_[1]); # Assign values $a =~ s/ //g; # Strip spaces from $b =~ s/ //g; # local variables ($a =~ /$b/ || $b =~ /$a/); # Is $b inside $a # or $a inside $b?}&inside("lemon", "dole money"); # truePada kenyataannya, bahkan bisa merapikan dengan mengganti dua baris pertama denganlocal($a, $b) = ($_[0], $_[1]);
  22. Tutorial Bahasa Programm Perl Full Part Thanx’s to : Whitehat Wenkhairu Cyberheb Scifix Prabujoyoboyo Darkslayers Shamus ./Blacknotes Also Thanx’s to : All Member Of Antijasakom All Member Of Devilzc0de All Member Of Jasakom All Member Of Jatim Crew

×