Uvod - Zasto uciti Perl ? - webpretraga.

com

http://webpretraga.com/perl/perl-brzi-prirucnik/perl-tutorial.html

Uvod - Zasto uciti Perl ?
Sazetak: Kada sam poceo sa Perl-om, najveci problem je bio odluciti se koju literaturu koristiti. Iz tog razloga u ovom prirucniku su izbacene nepotrebne stvari koje zamaraju citaoca i fokus je na sustini i opipljivim rezultatima odmah.

Sta je uopste Perl ?
Perl je razlog zasto cete zavolete programiranje :) Perl je star. Njegova izdrzljivost i postojanost na trzistu je samo jedan od dokaza koliko je ovaj jezik koristan generacijam programera i sistem administratora sirom sveta. Autor Perl-a je Larry Wall. Perl je "zvanicno" rodjen 1987 godine na UNIX sistemima i sluzio je kao zamena za shell jezike (sh), AWK i sed. Tada je Larry radio na poverljivim projektima gde su racunari "ozbiljne" namene bili povezani kriptovanom vezom. Dobio je zadatak da osmisli centralizovan sistem konfiguracije i izvestavanja i tako se poceo razvijati Perl. Obratite paznju - Perl je programski jezik, koji je prevashodno sluzio sistem administratorima - to treba dosta da vam govori. Ako su vam skracenice AWK, sed, sh strane - nema problema. U sustini, Perl je preuzeo mogucnosti veoma napradne obrade teksta iz tih jezika i interakcije sa operativnim sistemom. Nemojte da vas ovo sad zamara, naucicete kasnije.

Da li je Perl tezak za ucenje ?
Ako ste programirali do sada - ne. Jedina stvar kod Perl-a koji moze da vas oznoji su regularni izrazi. Medjutim - u tome je i osnovna snaga Perl-a. Ako ste ikad radili sa sed-om, Perl je implementirao i te mogucnost, tako da bi ste trebali biti poznatoj teritoriju. Ako niste programirali do sada - zavisi. Zasto "zavisi" ? Moram da vam kazem nesto. Postoje programski jezici koji se na prvi pogled - lakse uce. Obratite paznju, rekao sam - na prvi pogled. U cemu je fora ? Fora je u tome sto uz te programski jezike, "novije generacije" dobijete uglavnom neki interpreter (bez njega se source ne moze izvrsavati), dobijete "editor", tutorijale i ostale stvari. I vi sada mislite da ce vam biti lakse jer ste dobili sve na tacni. E pa nije bas. To sto je u pocetku lakse, na kraju se obije od glavu, jer vas stavi u mentalni sklop da ce uvek biti nekog da vam sve poturi na tacni kad vam zatreba u ptogramiranju. Lakoca u ucenju ima svoju cenu kasnije. Perl nije komplikovan za ucenje. Istina potrebno je sesti, odvojiti vreme, definisati ciljeve i poceti raditi. Perl i programiranje se ne uci samo citanjem dobre knjige. Potrebno je jednostavno sesti i poceti kuckati source. Greske u programiranju - su najbolja stvar koja moze da vam se desi. U pocetku ce ih biti mnogo, bice mnogo i nedoumica. Kasnije cete ih zavolete - jer ce vas uvek nauciti nesto novo i kvalitetnije.

Gde i za sta se upotrebljava Perl ?
Perl mozete upotrebljavati za: Masovnu obradu tekstualnih i HTML stranica (bukvalno milione). Sistem administraciju Mrezno programiranje Web programiranje CGI Programiranje Interakcije za bazama podataka Dopisati po potrebi :) Perl se moze upotrebljavati u svim oblastima informatike, za najrazlicitije zadatke. Od bioinformatike do finansija. Osnovno pitanje ovde je - sta konkretno vama treba ? Naravno, postoje neke stvari za koje se drugi programski jezici jednostavno namecu kao prirodnije/logicnije resenje. Da bi

1 of 61

26.12.2011 11:13

Uvod - Zasto uciti Perl ? - webpretraga.com

http://webpretraga.com/perl/perl-brzi-prirucnik/perl-tutorial.html

ste dosli do stadijuma kada prepoznajete kada je sta prikladnije potrebno je - vreme.

Kako citati Perl prirucnik ?
Sazetak: Odluciti kako nesto uciti je bitnije nego sto mislite.

Kako pratiti ovaj "kurs" ?
Ucenje programiranja nije citanje romana. Bicu potpuno iskren. Nema nikakvog smisla da nastavite sa citanjem ovih stranica ako se ne pridrzavate redosleda pogotovo ako se prvi put susrecete sa programiranjem. Neko ce reci: "Sta je njemu, vecina vlasnika sajtova zeli da mu se citaju tekstovi ?" Ovde i jeste najveca razlika. Da, ja nemam nista protiv da citate moje tekstove, zato sam i napravio sajt, medjutim, poenta je da kada zavrsite sa citanjem nekog teksta znate nesto sto mozete da upotrebite sutra za licnu korist. Kao neko ko je samouk programer, i ko je protracio dosta vremena citajuci kojekakve tutorijale na Internetu sada imam dovoljno izkustva da znam sta je dobro i sta je lose, tj. sta se moze preskociti, a sta se jednostavno mora znati. Ovaj prirucnik, ili "kurs", nazovite ga kako hoce ima samo jedan cilj. Taj cilj jeste da kada zavrsite sa citanjem, znate osnove programiranja u Perl-u, i sto je jos bitnije, da znate kako i sta dalje da radite u zavisnosti od vasih interesovanje. Postoji sansa da vam se Perl svidja. Bilo bi mi veoma drago da je tako. To bi znacilo da ste na pravom putu da ovladate jednim programskim jezikom na koga uvek mozete racunati. Postoji sansa da vam se Perl ne svidja. I to je ok. Mozda vam je blizi neki drugi programski jezik, mozda jos niste definisali sta vam treba. Mozda samo probate malo PHP-a, malo HTML-a, malo Perl-a ili nekog drugog programskog jezika. Nemojte misliti da nisam probao mnoge druge jezike, izmedju ostalog dosta sam se zadrzao na PHP-u i Python-u. Zapravo, sa Python-a sa presao na Perl. Zasto? Sato sto sam nakon citanja par stvari o Perl-u mogao konacno da napravim par programa koji su mi zadavali glavobolju. Ne sporim, moguce ih je bilo napraviti i uz pomoc drugih jezika, ali ono za sta mi je u drugim jezicima bilo nemoguce, to sam napravio u Perl-u za jedno popodne. Zato, molim vas, ako vec ucite Perl, idite jednu lekciju po jednu, nemojte da preskacete redosled, samo cete se pogubiti i mozda odustati jer cete misliti : "ma ne mogu ja ovo". Da, trebace vam koji sat da zavrsite ovaj online kurs, ali bolje i to nego da protracite dane citajuci kojekakve razbacane tutorijale na Internetu. Trudio sam se da smisleno organizujem i pojednostavnim ovaj prirucnik, nadam se da cete to iskoristiti.

Perl na Windows-u ( 1. deo )
Sazetak: Kako instalirati Perl na Windows. Detaljno uputstvo. [ Nabavka. ]

Kako i Gde nabaviti Perl za Windows ?
Ukoliko koristite Windows, ili iz nekog razloga ne zelite zakoraciti u svet UNIX-olokih sistema, postoji par resenja. Jedno od resenja je instalacija Active State Perl-a. Da budem iskren, ne bi bilo lose bar da probate neki od Linux, a pogotovo BSD sistema. Ipak, Perl je nastao na UNIX-u, te (bar meni) programiranje u Perl-u na OpenBSD sistemu izgleda nekako "prirodnije". Da se vratimo na Instalaciju Perl-a. Potrebno je da odete na Perl-ov zvanicni sajt http://perl.org. Mozete to i da odradite preko trazilice:

2 of 61

26.12.2011 11:13

Uvod - Zasto uciti Perl ? - webpretraga.com

http://webpretraga.com/perl/perl-brzi-prirucnik/perl-tutorial.html

Korak 1 - Nalazimo zvanicni Perl-ov sajt.

Korak 2 - Nasli smo sajt, idemo na download opcije.

3 of 61

26.12.2011 11:13

Korak 4 .Biramo ActiveState Perl 4 of 61 26.2011 11:13 .com/perl/perl-brzi-prirucnik/perl-tutorial. biramo Windows.Zasto uciti Perl ? .Uvod .com http://webpretraga.html Korak 3 .U ovom slucaju.webpretraga.12.

html Korak 5 .ActiveState Perl Instalacija) Sazetak: Kako instalirati ActiveState Perl na Windows.Uvod . To smo uradili u prethodnoj lekciji. Potrebno je da pokrenemo instalacioni fajl: 5 of 61 26. Detaljno uputstvo.webpretraga. Korak 6 .com/perl/perl-brzi-prirucnik/perl-tutorial.12. ] ActiveState Perl Instalacija Da bi ste nastavili sa citanjem teksta potrebno je da na racunar imate snimljen ActiveState perl Instalacioni fajl. Zapamtite gde ste ga snimili.Zasto uciti Perl ? .com http://webpretraga. Perl na Windows-u ( 2.Biramo x86 verziju.2011 11:13 .Fajl je velicine oko 27MB. deo . [ Instalacija.

Prihvatamo Ugovor.12.2011 11:13 . 6 of 61 26.com http://webpretraga.Zasto uciti Perl ? .webpretraga.com/perl/perl-brzi-prirucnik/perl-tutorial. Korak 2 .Pokrenimo instalaciju. Instalacija ce biti obavljena u direktorijum "c:\Perl".html Korak 1 .Uvod .

Zasto uciti Perl ? .html Korak 3 . Korak 4 .Idemo na Next. 7 of 61 26.com http://webpretraga.2011 11:13 .Idemo na Next.Uvod .webpretraga.12.com/perl/perl-brzi-prirucnik/perl-tutorial.

2011 11:13 . Sada moramo proveriti uspesnos instalacije Perl-a na Windows.Uvod .Kliknem o na Install.Zasto uciti Perl ? .html Korak 5 . Ukucamo "cmd" i kliknemo na OK. 8 of 61 26.com http://webpretraga. Korak 7 . Idemo na START > RUN.12.webpretraga.com/perl/perl-brzi-prirucnik/perl-tutorial.Sacekamo koji minut dok se fajlovi i dokumentacija ne raspodele na disk.Zavrsavamo instalaciju na Finish. download perl-a sa zvanicnog sajta Korak 6 .

zatim "cd perl". Sada idemo u direktorijum gde smo intalirali Perl. Unosimo komandu "perl -v".2011 11:13 .Zasto uciti Perl ? .webpretraga.Fajl je velicine oko 27MB. 9 of 61 26."DOS" je spreman za unos komandi.12.com/perl/perl-brzi-prirucnik/perl-tutorial. Ako smo sve uradili kako treba sada smo u direktorijum "c:\Perl". Korak 10 . Hajde da proverimo koja je verzija Perl-a u pitanju.Nista bez DOS-a :) Korak 9 . Zapamtite gde ste ga snimili.com http://webpretraga.Uvod .html Korak 8 . Kucamo prvo "c: \".

Potreban nam je fajl hello.Uvod .12. Snimite ga u direktorijum "c:\Perl".Snimite ovaj source u fajl hello. 10 of 61 26. Da vidimo sta ima u direktorijumu "c:\Perl". Otvorite Notepad ili neki drugi editor koji koristite i prekopirajte sledeci source-kod u fajl hello.html Korak 11 . "\n". "\n".com http://webpretraga.webpretraga. Korak 13 . print print print print print "########################\n".pl u direktorijum "c:\Perl".pl. Korak 12 .com/perl/perl-brzi-prirucnik/perl-tutorial.2011 11:13 .pl. "########################\n". "Provera Perl Instalacije\n".Zasto uciti Perl ? .Dosli smo u Perl direktorijum. Listanje sadrzaja aktiviramo komandom starom dobrom DOS komandom "dir".

U cemu pisati source ? Sazetak: Postoji mnogo programa za pisanje source-a. U pocetku se drzite najjednostavnijih.perl.Uvod . radite na cudnom sistemu :) Perl mozete skinuti sa sledece adrese: http://www. samo pocnite da programirate :) Ja licno koristim Edit Plus na Windows-u. drugi kostaju poprilicno.2011 11:13 . Neki su besplatni.html Ako dobijete sledeci rezultat kada otkucate hello. Koristite komandu "perl -v" u vasem terminalu da bi proverili Perl instalaciju. Koji editor da odaberem za programiranje ? Postoji gomila programa za pisanje sorce-a. Ako Perl nemate. pogotovo ako nisu radili u njemu. sto je najbitnije.webpretraga. da je Perl vec instaliran kod vas. Korak 14 .html.Sve je ok. Da skratim pricu. Provera Perl Instalacije je obavljena. Brzo se instalira. 11 of 61 26. ali to je stvarno nezahvalno reci. a ponekad i Notepad. Konkretno autor ovog teksta najvise voli da radi na OpenBSD sistemu. tj. brzo podesava. sasvim je izvesno da cete imati punu podrsku za Perl. Perl je instaliran i sve radi kako treba.pl i pritisnete ENTER.org/get. Za sada nema potreba da se zamarate odlukom o tome koji cete editor da koristite.Zasto uciti Perl ? . moze da radi na starijim masinama i radi stabilno.com/perl/perl-brzi-prirucnik/perl-tutorial. ucinite uslugu sebi. su prirodna baza za rad u Perl-u.com http://webpretraga. Perl i BSD/Unix/Linux Ukoliko koristite neki od UNIX ili Linux sistema. i probajte OpenBSD. Neki ga smatraju "teskim". Perl na Unix i slicnim sistemima Sazetak: Unix i slicni sistemi.12.

svi programi u sledecim lekcijama bi trebali raditi bez problema. Nakon snimanja programa. a ne da uradite copy > paste.com http://webpretraga. Sta god da odaberete u pocetku . 5.pl .pl.. mozda je to samo moj mozak. Svojevremeno sam na Linux-u koristio Kate.com/perl/perl-brzi-prirucnik/perl-tutorial. napisali ste sve ostale :) Hello World. Pojavi se "DOS" Odemo u "c:\Perl" (komandom "cd Perl") kucamo pozdrav. Idemo na START > RUN Ukucamo "cmd". Ako koriste Windows.webpretraga..poenta je da pisete source vi. Pre ili kasnije trebace vam Vi. bojenja source-a kako bi ste se lakse snasli u gomili cudnih znakova :) Prvi Perl Program Sazetak: Ako napisete ovaj program. Bez obzira na tip operativnog sistema koji koriste. #!/usr/bin/perl print "Hello World\n". snimite prethodni source u neki fajl.neka bude jednostavno i neka ima opciju syntax highlighting. 2. pritisnemo ENTER Ukoliko ste sve uradili kako treba.Uvod . nego ono sto se copy > paste-uje. Rekli smo da cemo program snimati u "c:\Perl". pokusajte da ga pokrenete otvaranjem "DOS-a". ali mi se cini iz sopstvenog iskustva da se u nasu memoriju znatno brze smesta ono sto se proprati motoricki. Nisam neuro-ekspert. pritisnemo ENTER.2011 11:13 .html Na OpenBSD sistemu koristim skoro uvek August. npr : pozdrav. Ali pre svega .12. No. Hajde da ispostujemo standard. i izvrsite ga. 4. Prvi Jednostavan Perl Program Otvorite editor koji koriste i u njemu napisite sledece. ili nesto drugacije ? Gotovo je postao standard u ucenju programiranja da prvi program izpisuje na ekran "Hello World". trebalo bi da dobijete sledeci rezultat: 12 of 61 26. 1. 3.Zasto uciti Perl ? . tj.

pl Ukoliko niste snimili program sa ekstenzijom . \n".ovo je neki tekst koji se stampa. ako program nece da se pokrene.2011 11:13 . Hello World . probajte sa komandom: $ chmod a+x pozdrav./pozdrav Analiza programa Da se vratimo na: #!/usr/bin/perl print "Hello World\n". print . pokusajte program pokrenuti sa: $ . Ona govori sistemu u kom ste programskom jeziku pisali source. a ne sve recenice jedna do druge :) 13 of 61 26. . to nije problem.com/perl/perl-brzi-prirucnik/perl-tutorial.Zasto uciti Perl ? . O njima kasnije. Unix-oliki sistemi automatski prepoznaju sta treba da rade.ovo je takozvana "shebang" linija.html Za vas koji koriste UNIX i slicne sitema.ovo je Perl-ova komanda kojom se stampa tekst na ekran.webpretraga. Tu nista nema za dodati i oduzeti. jednostavno shebang linija je standard. #!/usr/bin/perl . Onda ide uvek u vrh programa.pl . Mozete ubaciti koja god hocete slova i brojeve izmedju navodnika.Uvod . pa mozete koristi i ovo: $ chmod a+x pozdrav Kad zavrsite sa prethodnim komandama kojima vas program postaje "izvrsiv".se stavlja na kraju komande obavezno.12. Postoji jos mnogo komandi za razne namene. Ovo "\n" je komanda za prelazak u novi red tako da tekst bude u linijama.com http://webpretraga.

naucili smo osnove "stampanja" na ekran. 2.pl u "C:\Perl".12. 3. zajedno sa recenicom pod navodnicima (navodnici su obavezni. i neke brojeve po izboru: #!/usr/bin/perl print print print print print "Ovo je prva recenica\n".2011 11:13 .pl.webpretraga. #Ovo sto vidite ovde #Su komentari source-a #Koje pisu Programeri da bi se prisetili sutra sta su pisali juce :) #Komentari pocinju sa znakom # Snimite ovaj program kao redovi. print "\n". "\n". "453524343523\n". 4.print. i komandom "cd Perl") kucamo redovi. Sada unosimo drugu recenicu. 3.Uvod . prazan red. #!/usr/bin/perl print "Ovo je prva recenica\n". "Ovo je druga recenica\n". 5. Pojavi se "DOS" Odemo u "c:\Perl" (komandom "cd \". kao i \n. Idemo na START > RUN Ukucamo "cmd". pritisnemo ENTER. 4. 5. Sada definisemo samo prazan red pomocu "\n". 2. Hajde sada da: 1.Zasto uciti Perl ? . pritisnemo ENTER Trebalo bi da dobijete sledeci rezultat: 14 of 61 26. zadajemo komandu za prikaz na monitoru .html Stampanje vise redova. i idemo da ga pokrenemo: 1. Odstampamo recenicu Odstampamo prazan red :) Odstampamo neku drugu recenicu Odstampamo prazan red Odstampamo neki broj Potrebno je da u "vrh" programa unesemo shebang liniju: #!/usr/bin/perl Zatim. "\n".com/perl/perl-brzi-prirucnik/perl-tutorial.com http://webpretraga. jedan ispod drugog Ok. na kraju recenice): #!/usr/bin/perl print "Ovo je prva recenica\n".

ili e:. ili d:. 2. ( a i b su flopi diskovi ) Ulazak u neki folder Listanje sadrzaja foldera Potraga za odredjenim tipom fajlova Potraga za odredjenim fajlom Pokretanje programa Za sve ovo sto sledi nece vam trebati vise od par minuta. Niko od vas ne trazi da znate DOS u detalje.com http://webpretraga. cak i ako ste sledili uputstva iz instalacije ActiveState Perl-a.. Pokretanje "DOS-a" pod Windows-om Bez obzira sto smo u prethodnim lekcijama prosli kroz ovo. Verovatno vam se ne svidja ideja da u doba brzih racunara ucite DOS.Uvod . hajde da ponovimo jos jednom: Idemo na START . Graficki programi i kliktanje misa ce doci kasnije. tj dolazak do c:.2011 11:13 . ali je potrebno da znate par osnovnih stvari kao sto su: 1.12.com/perl/perl-brzi-prirucnik/perl-tutorial. pa idemo na opciju RUN (run = pokreni neki program) : 15 of 61 26. 4. 6. moguce je da vam ta DOS stvar nije potpuno jasna. ako nista drugo.html Pokretanje Perl programa pod Windows-om ? Sazetak: Program se pokrece tastaturom za sada.webpretraga. Prebacivanje u folder iznad foldera u kome ste sad ( vracanje nazad ) Prebacivanje u jezgro hard-diska. Trebace vam i za programiranje u drugim programskim jezicima. Ukoliko ste imali problema kod pokretanje Perl programa iz prethodnih lekcija. 5.Zasto uciti Perl ? . Taj Famozni "DOS" Mislim da nekolici vas dugujem par objasnjenja. 3. zato obratite paznju i dobro savladajte materiju. 7. i tako dalje. ali je realnost takva da ne mozete ozbiljno da pridjete programiranju na Windows-u ako ne poznajete bar osnovne DOS komande.

12.com/perl/perl-brzi-prirucnik/perl-tutorial. 16 of 61 26.Uvod . sve je u redu i mozete zadavati komande preko tastature.webpretraga.Zasto uciti Perl ? . Svaku komandu zavrsavate pritiskom ENTER-a.com http://webpretraga. pa pritisnemo ENTER ili kliknemo na OK.2011 11:13 .html Zatim kucamo komandu cmd ili command. Ukoliko vam se otvori sledeci DOS prozor.

pa pritisnemo ENTER. jezgro hard-diska. Prva komanda za vracanje nazad je "cd. tj.".. Koristimo komandu "cd Perl". Veoma su slicni. tj. Ulazak u neki folder Posto smo Perl instalirali u folder c:\Perl potrebno je da udjemo u taj folder.2011 11:13 . tj. dolazak do c: Postoji jos jedan nacin da dodjete u "root"." (cd pa tacka tacka) Druga komanda je ista.. samo sa razmakom izmedju cd i tacaka. nakon komandi pritisnete ENTER.Uvod . Prebacivanje u jezgro hard-diska. "cd . 17 of 61 26.com/perl/perl-brzi-prirucnik/perl-tutorial.12.webpretraga. Naravno.com http://webpretraga.html Prebacivanje u folder iznad foldera u kome ste sad ( vracanje nazad ) Postoji dva nacina da se vratite u folder nazad.Zasto uciti Perl ? . razlika je samo u razmaku. To mozete ostvariti komandom "cd \" ( cd kosa crta ).

webpretraga.com" ili ".2011 11:13 .Uvod . pa tacka.com http://webpretraga. pa tip fajla koji nam treba). nakon koje pritiskamo ENTER.com/perl/perl-brzi-prirucnik/perl-tutorial.Zasto uciti Perl ? . Potraga za odredjenim tipom fajlova Recimo. 18 of 61 26. nakon komande pritiskamo ENTER.txt" a izvrsni fajlovi imaju ekstenziju ". kao sto tekstualni fajlovi imaju ekstenziju ".12.tip" fajla (zvezdica. Koristicemo komandu "dir *. Naravno. Na primer. tj. trebaju nam svi Perl fajlovi. a trebaju nam fajlovi odredjene ekstenzije.exe". imamo veliki broj fajlova i foldera u nekom folderu.html Listanje sadrzaja foldera Da bi saznali sta imamo u folderu.pl". Perl fajlovi imaju ekstenziju ". koristicemo DOS komandu "dir". tipa.

odete u folder Perl.pl.pl. nasli smo fajl hello. ali i folder (direktorijum) html. Brojevi u Perl-u Sazetak: 19 of 61 26. redovi.Uvod . samo se secamo da fajl pocinje slovom "h". to provo slovo. do toga koliko ste motivisani. Prosto. Samo opusteno. pozdrav.webpretraga. Pitanje za vas: Mozete li sada. pa pritisnemo ENTER. koristicemo komandu "dir". da uradite sve prethodno od pocetka. Kucamo "dir h*" .pl. Potraga za odredjenim fajlom Sta se desava ako nam treba fajl kome znamo samo prvo slovo. ili prvih par slova. od toga koliko ste umorni. Nasa memorija zavisi od mnogo faktora.pl.12. imamo rezultat. kako bi sutradan imali sta staviti u CV ili zaraditi pare od programiranja. napisete neki mali Perl programcic koji stampa neke redove. Na primer. Sve ce doci na svoje mesto nakon izvesnog vremena. i zvezdicu. tj. i pokrenete ga ? Ako ne mozete. Nasli smo Perl fajlove: hello. po secanju.com http://webpretraga.2011 11:13 . Potrebno je samo da vi zelite nauciti Perl ili neki drugi jezik. Dobro ste uocili.com/perl/perl-brzi-prirucnik/perl-tutorial. nema veze.html Kao sto vidite.Zasto uciti Perl ? .

0 4.E.B.7. da postoje i drugi numericki sistemi sem onog koga se sluzimo svakodnevno.4 + 3 # jeste 5.Uvod . implementirano je u Perl na ovaj ili onaj nacin.2011 11:13 . nemojte da se opterecujete ovim. ako vam bude trebalo.0 * 40 #jeste 200 5.2 # jeste 3 2.html Brojevi i Perl se odlicno slazu.4. ako vam bude trebalo.com http://webpretraga.6. mozete napisati i kao 1_845_267_221 Nedekadne vrednosti Verovatno ste culi.com/perl/perl-brzi-prirucnik/perl-tutorial.22 puta 10 na 13 -4.22e13 # minus 4. U vecini slucajeva.12.2. koga vec znate. bar sto se racunara tice. To je binarni sistem (nule i jedinice).D. Internet je pun informacija.5.A.9.0 #jeste 200 10 / 2 #jeste 5 20 of 61 26.webpretraga. Kako Perl "vidi" Brojeve ? U Perlu mozete pisati brojeve na sledeci nacin (pokretni zarez): 4.4 5 * 40 # jeste 200 5 * 40.22e13 #4. Ponavljam. Operacija nad brojevima Sve sto vam treba za racunanje. Numericke Operacije u Perl-u Sazetak: Osnovne operacije u Perl-u se moraju znati. Da vidimo osnovne operacije: 5 + 6 # pet plus sest je jedanaest 5 .0 #jeste 200 5.C. Vase je da to iskoristite najbolje. heksadekadni sistem (0.22 puta 10 na 13 -5e-12 # minus 5 puta 10 na minus 12 -5E-12 #isto kao prethodno Ne zamarajte se matematikom ako vam nije jaca strana.0 * 40. Celobrojne vrednosti 12 54 -43 -28 4874 -2546 1845267221 Prethodni broj.8. trebace vam dekadni sistem.F) i oktalni sistem.Zasto uciti Perl ? .12 125 125.1. naucicete. ako vam je mrsko tumaciti.3.

"5.0 * 40. 5 * 40.12.2. "5 . "\n". "5 * 40. 10 / 2. ~*~ 21 of 61 26. "10 / 2 = ". "2.2011 11:13 .Uvod . "\n". 5 + 6. 10 % 3. "\n". "\n". "\n". "\n".Zasto uciti Perl ? . "\n".0. Modulo je ostatak deljenja a posto je 10 : 3 = 3. "\n". "\n". "\n". #!/usr/bin/perl print print print print print print print print print print print print print print print print print print "5 + 6 = ". "10 % 3 = ". onda je modulo 1 :) Perl i Brojevi u Praksi Hajde da prethodne racunske operacije proverimo u Perl-u.pl i snimiti ga u "c:\Perl".2 = ". 5.webpretraga. "5 * 40 = ".0 * 40 = ". "\n". po obicaju. "\n". "\n".4 + 3. "\n". "\n". "5. "\n". a ostaje 1 do 10.html 10 % 3 # jeste 1 Ovo zadnje sto smo naveli nije postotak.0. 5 * 40.4 + 3 = ". 5 . 2.0 * 40.com/perl/perl-brzi-prirucnik/perl-tutorial.0 * 40. "\n". 5.0 = ".com http://webpretraga. "\n". nego modulo. Napisacemo mali program brojanica.0 = ".

Napomena: Ako vam nekad bude trebalo. ili polunavodnici. Znakovni nizovi . vase je samo da znate kako da definisete zadatak. 22 of 61 26.Zasto uciti Perl ? .12. o brojevima i konverzijama se za sada ne brinite. imaju zadatak da Perl-u pokazu pocetak i kraj nekog znakovnog niza.Uvod . samo sluze kao pokazivaci. Obrat\' paznju Jednostruki navodnici.com/perl/perl-brzi-prirucnik/perl-tutorial.com http://webpretraga.html ~*~ Idemo na sledecu lekciju.webpretraga. ne zaboravite da na Windows-u imate kalkulator sa opciom Scientific za kompleksnija izracunavanja.jednostruki navodnici Sazetak: Jednostruke navodnike u Perl-u koristite kod pocetka i kraja znakovnog niza.2011 11:13 . Oni sami po sebi nisu deo znakovnog niza. Perl je tu da se uhvati u kostac sa onim racunskim radnjama koje mu zadate.

webpretraga.Zasto uciti Perl ? . #!/usr/bin/perl print print print print print print print print 'ovo je znakovni niz' .Uvod . "\n". "\n". evo par primera : 'ovo je znakovni niz' 'i ovo je' 'ovo su brojevi u znakovnom nizu 4 3 1 2 3 451. u znakovnom nizu' . 'jer mozete napravit\' pometnju ako ubacite vise jednostrukih navodnika' . "\n". po potrebi. 'znaci.com http://webpretraga. videcete da je u source-u koristen "\n". da bi prikazal\' jednostruki navodnik. folder. 'obratite paznju na grama\'tku' . Ako ste obratili paznju na prethodnu lekciju o jednostrukim navodnicima. da bi prikazal\' jednostruki navodnik.2011 11:13 . specijalne znake. Napomena: Ova tacka izmedju znakovnog niza i "\n". 'ovo su brojevi u znakovnom nizu 4 3 1 2 3 451. program cemo snimiti kao jednostruki. \'vako' A evo i source-a za gore-navedeno. \'vako. 'unutar znakovnog niza' . sluzi da spoji ta dva u jednu komandu. 'i ovo je' . radi se o specijalnom znaku.dvostruki navodnici Sazetak: Dvostruke navodnike u Perl-u cete najvise upotrebljavati kod rada sa tekstom koristeci. 'stavite ispred njega kosu crtu. eneki od njih su: \L \l #Prebacuje sva slova u niska #prebacuje sledece slovo u nisko 23 of 61 26. Razlika Postoji Da.pl u "c:\Perl" direktorijum. Postoje mnogi specijalni znaci koji imaju posebno znacenje kada se ubace pod dvostruke navodnike.com/perl/perl-brzi-prirucnik/perl-tutorial. tj. u znakovnom nizu' 'stavite ispred njega kosu crtu.html Da ne bi puno teoretisali. "\n"..12. Znakovni nizovi . postoji znatna razlika izmedju znakovnih nizova sa jednostrukim i znakovnih nizova sa dvostrukim navodnicima. "\n".' . "\n".22' .22' 'obratite paznju na grama\'tku' 'jer mozete napravit\' pometnju ako ubacite vise jednostrukih navodnika' 'unutar znakovnog niza' 'znaci. "\n". znaci. "\n".

pl print "Ja " .12." Idemo sad da to prebacimo u source. Rad sa Znakovnim Nizovima Sazetak: Prosirivanje recenica u Perl-u je lakse nego sto mislite. "i za sada mi sasvim dobro ide. Trebali bi da dobijete sledeci rezultat: 24 of 61 26. " ." . "ali pre toga malo\trazmaka\n". Da bi nadovezali jedan niz na drugi.com/perl/perl-brzi-prirucnik/perl-tutorial. "\n". ' . Jedna od najcescih operacije nad nizovima je nadovezivanje." .2011 11:13 . "mi sasvim dobro ide" .html \U \u \n \t \a \E #Prebacuje sva slova u visoka #Prebacuje sledece slovo u visoko #Zapocinje novu liniju.Uvod . "Ucim Perl" . " . ".pl". "." A moze i ovako: "Ja Ucim Perl. gle cuda :) #Razmice za jedan "Tab" #Zvono #Predstavlja kraj komande kada se koristi \L ili \U Na primer. " . "i za sada mi sasvim dobro ide. ili na engleskom "concatenate". ' . "a i posle. print 'Ja Ucim Perl. "mi sasvim dobro ide" .webpretraga. u "C:\Perl"." . #!/usr/bin/perl #Snimite program kao nizovi.pl u "c:\Perl" print print print print print "zvonjava sledi\n". " . "\n". ". i stavicemo ga tamo gde smo i do sada stavljali nase pocetne programe." (tacku). "i za sada mi sasvim dobro ide. "\a\t\a\t\a\t\a\t\a\t\a\t\n". lol\n". "\n". Napisacemo mali Perl programcic "nizovi.com http://webpretraga. hajde da spojimo recenicu: "Ja ucim Perl. 'i za sada ' .Zasto uciti Perl ? . 'i za sada ' . Nadovezivanje znakovnih nizova Kao i kod vecine ozbiljnih programskih jezika. da vidimo kako se zvoni na interne zvucnike pomocu Perl-a :) #!usr/bin/perl #Snimite program kao zvonjava." A moze i ovako: 'Ja Ucim Perl. potrebno je da koristimo operator ". i u Perl-u postoji mogucnost upotrebe razlicitih operatora nad znakovnim nizovima. ". "i za sada mi sasvim dobro ide. print "Ja Ucim Perl. i za sada mi sasvim dobro ide. Na primer. "Ucim Perl" . "\n"." "Ja " .

za pocetak. samo vezbajte sa nekom svojom kracom recenicom. Na svu srecu. u Perl-u postoje ugradjena upozorenja koja ce nam. uzima ono sto mu je sa leve strane. Bitno je znati. Kako Perl pomaze ? Nema programera koji nije napravio gresku. niti pocetnika koji sve zna. "\n". skrenuti paznju da smo nesto zabrljali. Da bi to uradili u Perl-u. 25 of 61 26.webpretraga. Kod mene to izgleda ovako: Perl Ugradjena Upozorenja Sazetak: Perl ce vam. izaci u susret pre nego sto napisete finalnu verziju programa. i da napravi tacno onoliko kopija koliko navedite u brojevima. sa desne strane. "\n". "\n". koliko je to moguce. Operator Ponavljanja ( x ) Pre ili kasnije zatrebace vam vise istih znakovnih nizova.Uvod . jedan do drugog.12. print 4 x 12 . koristicete operator "x".com http://webpretraga.com/perl/perl-brzi-prirucnik/perl-tutorial. koliko je to moguce.pl print "ovo ce se ponoviti 2 puta " x 2 .Zasto uciti Perl ? .2011 11:13 .html Napomena: Ako ste se malo zbunili sa ovoliko tackica za povezivanje reci. Mozete cak i povezivati slova u rec.pl": #!/usr/bin/perl #Snimite program kao ponavljanje. print "a ovo 3 " x 3 . da navedeni operator. "ovo ce se ponoviti 2 puta " x 2 "a ovo 3 " x 3 4 x 12 #rezultat je 444444444444 Napisacemo mali programcic "ponavljanje.

Pragma za upozorenja se aktivira ovako: #!/usr/bin/perl use warnings. i stekli dobre navike.com/perl/perl-brzi-prirucnik/perl-tutorial. ljudima ce biti mnogo lakse da razumeju sta ste hteli reci. Ovo zadnje moze da vam znaci kraj fajla. ako u samom programu nismo aktivirali opciju za upozorenja. Ne samo to. Pragma diagnostics zahteva nesto vise memorije. sa komandne linije.2011 11:13 . (znam sta pricam. ako vam nekad zatreba. te da u samom programu aktiviramo upozorenja to mozemo uraditi kada u source-u pored shebang linije dopisemo sledece: #!/usr/bin/perl -w Neke novije verzije Perl-a koriste takozvane Pragme. $ perl -w neki_program A ako hocemo da izbegnemo kucanje u terminalu. #!/usr/bin/perl use diagnostics.webpretraga. Smanjite mogucnosti za greske odabirom razumljivih imena za promenljive. Na primer..com http://webpretraga. tj. Upozorenja koja smo aktivirali dobro dodju programerima koji. $ perl -Mdiagnostics .html Postoji vise nacina kako mozemo reci Perl-u da nas obavestava ako nesto nije u redu. ipak je mozete koristiti prilikom pokretanja programa.. Davanje Imena Promenjivama Sazetak: Drzite se jednostavnih imena./neki_program Da pojasnimo. Pravila Dobre Prakse Kada programirate. sablonu. Komanda "perl" sluzi da bi izvrsili neki_program. ili $sistem.12. moze vam se desiti da za promenjive birate imena po nekom. dajte vasim promenjivama smislena i logicna imena cije znacenje odmah shvatate i posle duzeg vremena. ili $krafa. Prvi nacin je prilikom pokretanja naseg programa.) Ukratko. a "-Mdiagnostics" nam priprema dokumentaciju ako nesto ne valja . kao i svi ozbiljni i dokazani u praksi programski jezici. znaju sta rade. Ukoliko ne zelite Pragmu diagnostics u svom programu. Dodeljivanje Vrednosti Promenljivama Sazetak: Dodeljivanje vrednosti je lako. pogotovo ako se zaposlite u firmi u kojoj su pravila striktnija. Problem nastaje kada vam to predje u naviku. opekao sam se.prilikom pokretanja programa iz terminala. Ponekad se desi da su nam potrebna detaljnija objasnjenja. tezi da se drzi do onoga sto je jednostavno i logicno. Samo upotrebljavajte znak jednakosti. Kako Dodeliti Vrednost Promenljivoj ? Perl. ukoliko budete delili vase programe pod slobodnim licencama. samo vama znanom. Kada 26 of 61 26. Pa zasto onda jednostavno ne biste promenjivoj i dali takvo ime ? Sasvim je izvesno. pogotovo kod vasih prvih programa u Perl-u. ceskati po glavi pitajuci se sta vam neka promenjiva znaci u nekom vecem programu. pogotovo ako cinite prve korake.Zasto uciti Perl ? . a tada koristimo Pragmu diagnostics.Uvod . zato sto za vas unapred sprema duze objasnjenje ukoliko dodje do greske. manje vise. da i cete se i vi sami posle par meseci. da bi izbegli konfuziju. moze vam biti zanimljivo da promenjivama davate imena kao sto su $a.

tj.pl $ime = "Larry". $broj_neki. treba da dobijete sledece : Binarno Dodeljivanje Sazetak: U Perl-u se vodilo racuna o ustedi vremena.12. zatim vrednost promenljive sa desne strane. $ime = "Larry" $prezime = "Wall" $malo_duze_ime_promenljive = "Nekad moze biti korisno i ovako" $broj_neki = 34 $broj_veci = $broj_neki + 6 A evo i programa koji ce isprintati na ekran vrednosti promenljivih : #!/usr/bin/perl # Snimite program kao dodeljivanje.Uvod . tj: "=".com http://webpretraga. $broj_veci. Bitno je znati da kada dodeljujete vrednost. koga cemo nazvati "dodeljivanje. $malo_duze_ime_promenljive = "Nekad moze biti korisno i ovako". $malo_duze_ime_promenljive. Znaci sablon izgleda ovako: $neka_promenljiva = vrednost promenljive Hajde da vidimo kako to izgleda u praksi.html zelite dodeliti neku vrednost promenljivoj. $broj_veci = $broj_neki + 6.2011 11:13 . Koristicemo sledece promenjive da napisemo source programa.webpretraga. $broj_neki = 34. Ako ste sve otkucali kako treba. print print print print print print print print print $ime. zatim znak jednakosti.Zasto uciti Perl ? . "\n". Perl i usteda u pisanju U programiranju se cesto desava da jednostavno zelite neke izraze. $prezime = "Wall". pa makar to bilo i pisanjem 27 of 61 26. upotrebicete znak jednakosti.pl" i snimiti u "c:\Perl".com/perl/perl-brzi-prirucnik/perl-tutorial. "\n". $prezime. "\n". "\n". prvo pisete promenljivu. Dobre stvari iz drugih programskih jezika su i ovde nasle mesto. operacije pojednostaviti.

". sem sabiranja isti princip mozete primeniti na ostale osnovne matematicke operacije. Naravno. "pa ova recenica" je isto sto i : $neka_rec .Uvod . i kod sastavljanja znakovnih nizova imamo istu proceduru : $neka_rec = $neka_rec . u smislu da program ne izbacuje nikakve poruke na ekran dok radi.pl": #!/usr/bin/perl # Snimite program kao usteda. 28 of 61 26.2011 11:13 . Sto se operatora binarnog dodeljivanja tice. print $ime. Osim matematickih operacija.= "pa ova recenica" Napisacemo i mali programcic. Radi se o definisanju promenljivih: $neki_broj = $neki_broj + 455.Zasto uciti Perl ? . i para dvostukih navodnika. koje daju isti rezultat. medjutim. ili kada zavrsi ono sto se od njega trazi. $ime . Prikazivanje Izlaznih Podataka U pocetku vase programerske karijere moze vam se desiti da napisete program koji perfektno radi a da za to samo vi znate.html manjeg broja komandi. sto vise prakse budete imali. sve cete biti zahvalniji sto postoje i takve "precice" prilikom pisanja programa.webpretraga. Ono sto sledi je primer dve razlicite komande. i nazvati ga: "usteda.com http://webpretraga. je isto sto i: $neki_broj += 455. print "\n".pl $ime = "Larry". print $ime. Rezultat je sledeci : Prikazivanje Teksta Sazetak: Prikazivanje teksta na monitoru i stampacu je stvar jednog "print"-a.= " je faca.12.com/perl/perl-brzi-prirucnik/perl-tutorial. oni u pocetku mogu izgledati zagonetno.

Naravno. kako sto smo se dogovorili :) #!/usr/bin/perl # Snimite program kao umetanje.pl $prvi_deo = "Ovo je prvi deo. prati sistemsko zdravlje i desavanja na mrezama koje odrzavate. tj.com/perl/perl-brzi-prirucnik/perl-tutorial.Perl i za to ima resenje.webpretraga. Perl Znakovni Nizovi i Njihove Kombinacije Dobra stvar kod operacija sa znakovnim nizovima jeste sto mozete kombinovati svaki njihov deo. Umetanje jedne reci u recenicu na mestu neke druge reci. "\n".com http://webpretraga. Budite disciplinovani.html Ovo ce vam se verovatno desiti ako se bavite sistem administracijom pa napisete mali program u Perl-u koji prebacuje fajlove. $drugi_deo. koja je u stvari promenljiva. pravi arhivu. Definisacemo dve promenljive. $drugi_deo = "programiranje je uvek lako.2011 11:13 . ne znaci da cete se i setiti posle godinu dana sta ste hteli da kazete. To sto vi u trenutku pisanja programa znate sta on radi. "Uz Perl ". Bitno je samo da zapamtite da ako vec pisete neki program. i davajte im smislena imena. a to je "print".12.Uvod . onda ga pisite tako da u svakom trenutku znate sta on radi. print $recenica . No da se ne bi gubili u preteranoj teoriji i cudnim izrazima. ne treba preterivati. ". da vidimo kako to u praksi izgleda. jer se izvestavanje. ce vam se cesto desavati. ". ( $prvi_deo i $drugi_deo ). $recenica = $prvi_deo . za sada uvek snimajte vase programe u jedan folder ( bar dok citate ovaj "kurs" ).Zasto uciti Perl ? . ispis poruka na ekran vrsi komandom kojom ste do sada dobro upoznati. pa cemo ih ubaciti u neku recenicu. Ovde necemo uciti nikakve nove komande. ali da li preterujete i ne znacete posle par stotina napisanih programcica :) Umetanje Skalara u Znakovne Nizove Sazetak: Ako vam zatreba umetanje reci ili recenica u vec postojecu . Iz tog razloga je potrebno da umecete u program bar opcije za osnovno izvestavanje. Kod mene to izgleda ovako: 29 of 61 26.

Zasto uciti Perl ? . Dakle. netacno. True ili False. ako kazemo da je 4 > 4. Poredjenje: True ili False Postoje dva tipa poredjenja. Moguce je izvrsiti poredjenje izmedju brojeva. Na vama je da odlucite sta cete posle. Kako to? Na primer. sto je zasigurno tacno. Da vidimo kako izgleda tablica za poredjenje brojeva: Poredjenje Operator Jednako == Vece > Manje < Vece ili Jednako >= Manje ili Jednako <= Nije Jednako != Ako govorimo o poredjenju znakovnih nizova.12. pitanje je sad.Uvod . sto smo radili u skoli. Nema nesto narocito svrhe porediti neka dva broja ako nam to ne koristi u daljem izvrsavanju programa.webpretraga. imamo True.com http://webpretraga. to znaci da je 5 jednako 5. Sto se poredjenja brojeva tice. Dakle. imamo False slucaj. Rezultat poredjenja dva broja moze biti Tacan ili Netacan.html Operatori Poredjenja Sazetak: Rezultat poredjenja moze biti True ili False.2011 11:13 . Isto tako. >=. ukoliko kazemo da je 5 == 5. znamo da to nije tacno. tj. !=. i poredjenje izmedju znakovnih nizova. posto 4 ne moze biti vece od 4. ==.com/perl/perl-brzi-prirucnik/perl-tutorial. upotrebljavaju se standardni operatori (logical comparison operators) i to: <. istinit slucaj. <=. imamo sledecu tablicu: 30 of 61 26.

com http://webpretraga.com/perl/perl-brzi-prirucnik/perl-tutorial. i ukucavanje nekih brojeva. Definisacemo promenljivu $neki_broj. program ce reci "Perl je extra programski jezik. ili jednak 5.Zasto uciti Perl ? . a ako je broj veci.2011 11:13 . tako da kada unesemo neki broj sa tastature.great or equal Manje ili Jednako le . kod mene to izgleda ovako: 31 of 61 26. Ali. Svodi se na definisanje promenljive u koju se pomocu <STDIN>-a stavlja ono sto je krajnji korisnik otkucao preko tastature.greater Manje lt . bar sto se Perl-a tice. $neki_broj = <STDIN>.12.equal Vece gt .not equal Ulaz sa Tastature Sazetak: Unos elemenata sa tastature je krajnje pojednostavljen. } if ($neki_broj >= 5) { print "Perl je extra programski jezik".less then Vece ili Jednako ge . ako je broj manji od 5.html Poredjenje Operator Jednako eq . Korisnicki Unos Stvari ce tek postati zanimljive kada naucite koristiti operator "<STDIN>". if ($neki_broj < 5) { print "manji od 5". Upotreba operatora "<STDIN>" u Perl-u je veoma jednostavna. Da vidimo kako se koristi Perl operator <STDIN> u praksi.Uvod ." Koristicemo takodje upravljacku strukturu "if".webpretraga. Sta cete raditi sa tom promenljivom je vasa stvar. program ce izbaciti poruku "manji od 5". #!/usr/bin/perl #Snimite program kao unos. } Posle par pokretanja programa.less or equal Nije Jednako ne .pl print "Unesite neki broj pa pritisnite ENTER\n". lepo je znati da je u Perl-u prihvatanje korisnickog unosa krajnje pojednostavljeno i logicno.

#!/usr/bin/perl print "Unesite neku recenicu pa pritisnite ENTER\n".com http://webpretraga. recimo. on se ne bavi uklanjanjem zadnjeg dela unosa sa tastature kada pritisnete ENTER. koliko je to moguce.12. da vidimo gde bi mogli upotrebiti while (mozda u paketu sa ostalim upravljackim strukturama Perl-a): Stampate na ekran neki red dok se taj red ne odstampa.webpretraga. U svakom slucaju. 100 puta. Recimo da zelimo definisati neki promenjivu. Prethodni programcic ste mogli napisati i kao: #!/usr/bin/perl print "Unesite neku recenicu pa pritisnite ENTER\n". tj. samo se strpite malo. navodeci. Naravno. Kao sto vidite. Saljete automatski mail nekome dok ne posaljete 10.com/perl/perl-brzi-prirucnik/perl-tutorial. to je samo zbog toga sto hocu da maksimalno pojednostavim ceo koncept. a trebalo bi da jesu jer sam ih maksimalno pojednostavio. koju cemo nazvati $moja_recenica i koja se unosi sa tastature Perl operatorom <STDIN>. chomp($moja_recenica). Uklanjanje oznake za novi red Perl operator <STDIN> je zaista korisna stvar. Zatim cemo nad tom recenicom upotrebiti chomp da neutralisemo oznaku za novi red. Jos nesto.2011 11:13 . To nam moze napraviti problem. Videcete koliko je chomp koristan. jedna od najkorisnijih takozvanih "petlji" u programiranju.000 mailova dnevno pingate konstantno neki racunar sve dok se ta masina ne zagusi od ping zahteva (kada radite bezbednosne testove na mrezi) Generisete neke html stranice do odredjenog broja. Upravljacka struktura while Sazetak: Koristite "while" kada znate sta se treba izvrsavati veci broj puta. Perl vam uvek ostavlja opciju da stedite dragoceno vreme. $moja_recenica = <STDIN>. ali je sasvim izvesno da je struktura while. ocigledne primere zahteva koje bi stavili pred svoj program. ostaje vam ono "\n".html Mozete slobodno da budete zadovoljni svojim dosadasnjim ucinkom ako su vam sve lekcije jasne. te da ne vidite gde bi ga mogli upotrebiti. No da ne duljim preterano. Sve ce doci na svoje mesto vremenom. cak i da vam nesto nije jasno. Koristicete while kada zelite da se nesto u programu izvrsava veci broj puta sve dok je ispunjen uslov koji ste vi odredili. pa cemo koristi "chomp".Uvod . Ponavljanje izvrsavanja dela programa Mozda je nezahvalno odvajati upravljacke strukture jednu od drugih. Pokusacu vam dati par primera gde bi mogli upotrebiti "while". dok su ispunjeni postavljeni uslovi. medjutim.Zasto uciti Perl ? . Mozda imate utisak da operator chomp nije nesto narocito koristan. Operator Chomp Sazetak: Ponekad je potrebno "odseci" oznaku za novi red kada unosimo podatke za obradu u programu. chomp($moja_recenica = <STDIN>). Ostavite donosenje zakljucaka za kasnije. nema problema. po odredjenom kriterijumu 32 of 61 26. bez obzira sto ga vi ne kucate. pa Perl ima operator chomp kojim uklanja oznaku za novi red (\n).

Opet. a recenicu cemo uneti preko tastature.com http://webpretraga. #!/usr/bin/perl #Snimite program kao while. Ograniceni ste samo mastom.com/perl/perl-brzi-prirucnik/perl-tutorial. Ponekad vam se u programiranju moze desiti da vam je apsolutno neophodno da je neka promenljiva odredjena. 33 of 61 26. o tome cete vec vi odluciti u zavisnosti od toga sta vam bude trebalo i kako vise volite da pristupite programiranju.pl print "Napisite bilo koju recenicu pa pritisnite ENTER\n". manje je bitno.i mnogi drugi primeri.2011 11:13 . print $recenica.. $recenica = <STDIN>. mozda ce vam drugi operatori i komande mnogo vise koristiti.webpretraga. Definisi. a sta ne. Ovo je samo mali deo onoga sto mozete uraditi uz pomoc while-a. $odbrojavanje = 0. koji treba da vam priblizi razloge za upotrebu te upravljacke strukture u vasim programima.Uvod . hajde da na ekran stampamo neku rec onoliko puta koliko to navedemo u promenljivoj koju cemo nazvati "$odbrojavanje". Sto se nekog jednostavnog programcica tice.Zasto uciti Perl ? . Vazno je samo to da nesto mora biti definisano da bi se ostatak programskog kod-a mogao izvrsiti. koristicete Perl funkciju defined na sledeci nacin: #!/usr/bin/perl #snimite program kao defined.12. zavisi od vas.html vrsite upis u neku bazu podataka dok broj redova po tabeli ne predje odredjeni broj . Koristite "defined".. To da li ce promenljiva biti odredjena korisnickim unosom preko tastature. No. ili citanjem odredjengo fajla. apsolutno morate znati sta je definisano. kod unosa parametara u program. while ($odbrojavanje < 20) { $odbrojavanje = $odbrojavanje + 1. pa kreni dalje. } To bi trebalo da izgleda ovako: Funkcija defined Sazetak: U odredjenom broju slucajeva. Da bi proverili da li je promenljiva definisana.pl i pokrenite ga da vidite #sta se desava.

za koje ne znate koji je poredak podataka u njima.webpretraga. 4. Cak i kada budete pravili prve liste. To je. naravno. 5.2011 11:13 . a to je simbol "@". } else { print "Program nece nastaviti izvrsavanje\n".Zasto uciti Perl ? . Perl ce uvek definisat neki kriterijum. 4323. "Georg". $vazna_promenljiva = <STDIN>. if ( defined($vazna_promenljiva) ) { print "promenljiva je definisana. 9) @lista_imena = ("John". Evo nekih primera za nazive liste u Perl-u: @nekaLista @lista_imena @klijenti_ekspozitura23 Posto smo naucili kako davati imena listama. to cete uraditi ovako (koristicemo prethodne primere) : 34 of 61 26. uneto je $vazna_promenljiva". koristite specijalnu oznaku "@" za pravljenje liste. pa pritisnite ENTER \n". Da bi ste definisali listu u Perl-u koristice specijalan simbol sa kojim ste se do sad sigurno susretali kada ste slali mail-ove. 289) Redosled u Perl listama Ukoliko zelite dobiti nesto sa odredjene pozicije u listama. Definisanje Liste u Perl-u Liste u Perl-u su jednostavno skupovi nekih podataka sortirani po odredjenom kriterijumu.com http://webpretraga.12. sada cemo ga koristiti nevezano na mail kontekst. 8. Mozda ce se neko i zapitati: "Kako je to moguce da Perl definise kriteriju koji mi u trenutku nisu poznati ?" Pravo stanje stvari je da cete u pocetku mnoge stvari prevideti zbog nedostatka iskustva. sasvim normalno dok ne steknete rutinu. "Michael".Uvod . "Patrick") @lista_mesana = ("Nick". 7. 6. print "jer niste definisali promenljivu unosom preko tastature\n". Naravno. Doci se samo po sebi. da vidimo kako definisati clanove liste: @lista_brojeva = (3.html print "Unesite nesto preko tastature. } Liste u Perl-u Sazetak: Ako imate kriterijum za odredjenu skupinu podataka. "Some Dude". Nemojte sada da razmisljate o tome u opste.com/perl/perl-brzi-prirucnik/perl-tutorial.

U realnom zivotu ne mozete nekom kusur vracati tako sto cete zanemariti prvu novcanicu koju dajete nekome (0-ulta. 4. 10). $neka_promenljiva. @lista_imena. @lista_imena[0]. "\n". mozete definisati gomilu brojeva na brzinu: @lista_1 = (1. " Michael". u programiranju.12. na primer. @lista_brojeva[3]. "\n". 3.Zasto uciti Perl ? . #svi brojevi izmedju 1 i 50 @lista_2 = (0. ali cete se naviknuti. print print print print print print print print print print print @kombinovana_lista. @lista_mesana = (" Nick". 9. 1 do 5. pozicijama) uvek "brojite" od nule. jednostavno stvari su takve kakve jesu i za sada odlicno funkcionisu. Sada da napravimo listu u koju cemo ubaciti neke elemente. 2. Rezultat programa je kod mene sledeci: 35 of 61 26. 289).. 4323.com http://webpretraga. @lista_1 = (1. pa hajde da to primenimo.webpretraga. 5. @lista_mesana. @kombinovana_lista = (1. #opseg definisan pomocu promenljivih Hajde da nesto od prethodnih primera slozimo u programcic liste. 7.. @lista_imena = (" John".2011 11:13 . $jos_jedna_promenljiva = " John Smith". 1. " Georg". @lista_brojeva. @lista_2 = (0. @lista_2. $neka_promenljiva = 43 + 23..Uvod . 2. "\n".pl : #!/usr/bin/perl #snimite program kao liste. Iz prethodnih lekcija smo naucili kako definisati promenljive.pl $neka_promenljiva = 43 + 23. 9). 1-5. kada se govori o listama (tj. "\n".50).50). 9. "\n". ali u programiranju to ide tako. $jos_jedna_promenljiva ) Opsezi i liste Liste je moguce napraviti bez nesto preterano kucanja. Bar kada se govori o pozicijama elemenata neke liste. Ako bi ste pak zeleli da saznate zasto se u programiranju broji od nule u nekim slucajevima probajte sa unosom sledeceg stringa na vasoj omiljenoj trazilici: "Why do programmers count from zero ?" Promenljive i Liste Moze vam se desiti nekad da ce vam trebati neka promenljiva u listi. Takodje. 9 i 10 @lista_3 = ($a. " Some Dude".$b). 6. $neka_promenljiva. $jos_jedna_promenljiva ).5. 8. 10). $jos_jedna_promenljiva = "John Smith". @lista_1. #brojevi su 0. "Iz druge liste prvo ime\n". 3. Kao sto vidite. To nije nista cudno.com/perl/perl-brzi-prirucnik/perl-tutorial. Mozda jeste cudno. ali i gornje promenljive: @kombinovana_lista = (1. "\n". ne zamarajte se ovime. pocetna novcanica). @lista_brojeva = (3.html print print print print print "Iz prve liste 2 element\n".. " Patrick").

Dakle.Uvod . liste mozete definisati na brzinu i pomocu sledecih znakova : !.12. RegExp-i mogu da vas namuce u pocetku. "Mark". [. koristite precicu qw koja olaksava pravljenje liste. navedenu listu sa imenima mozemo napraviti i ovako: @imena @imena @imena @imena @imena = = = = = qw[John qw{John qw!John qw qw#John Mark Sebastian Vinona Smith] Mark Sebastian Vinona Smith} Mark Sebastian Vinona Smith! Mark Sebastian Vinona Smith# Operator pop Sazetak: Operator "pop" koristicete kada "skidate" nesto sa kraja liste. a verovatno hoce. "Vinona". Ako bi prethodni primer zeleli napisati pomocu precice qw.com http://webpretraga. Precica qw . Sasvim je izvesno da ce vam i regular expression-si priskociti u pomoc :) Necu da vam ulepsavam. @. to bi izgledalo ovako: @imena = qw(John Mark Sebastian Vinona Smith) Ako vam se desi. 36 of 61 26.Perl Liste na Laksi Nacin Da bi ste razumeli ovu lekciju potrebno je da ste procitali lekciju o listama u Perl-u. da cete obicne zagrade upotrebiti za nesto drugo u programu. < . stedite vreme koristeci "qw".Zasto uciti Perl ? .2011 11:13 . "Sebastian". Da se podsetimo kako smo definisali liste tako sto cemo napraviti listu sa nekim licima : @imena = ("John".webpretraga. ali se to kasnije i te kako isplati .html Precica qw Sazetak: Kod pravljenja listi u Perl-u.od obrade teksta do izvlacenja onoga sto vam je potrebno iz baza podataka. Ovo ce vam narocito koristiti kada budete radili obradu veceg broja tekstualnih fajlova ili web stranica. "Smith") Da li vas je zamorilo kucanje navodnika? Ukoliko jeste. {.com/perl/perl-brzi-prirucnik/perl-tutorial.

Ako hocemo da uklonimo zadnji broj 10.10). Ako to ubacimo u neki programcic. ali i da ga prebacimo u neku promenljivu koju cemo kasnije negde iskoristiti . print print print print "\n". zelite uraditi nesto..2011 11:13 . "lista sada izgleda ovako: \n". Kada definisete neku listu moze vam se desiti da sa elementom te liste. To sta cete uraditi sa tim elementom liste je vasa stvar. print "osnovna lista sadrzi: " . @brojevi. ili koristiti za neku drugu aktivnost . "sa liste je skinut \"$zadnji\": \n". koji se nalazi na kraju liste. imamo sledece: #!/usr/bin/perl #snimite program kao pop.10). A rezultat izgleda ovako: Operator push Sazetak: Operator "push" koristicete kod "stavljanja" nekog elementa na kraj liste..com http://webpretraga.12.Uvod . 37 of 61 26. to ide ovako: $zadnji = pop(@brojevi). Da li cete ga brisati. ili upisivati u drugu listu ...html Uzimam sa kraja reda.pl @brojevi = (1. Bitno je da postoji operator pop kojim vrsite uklanjanje zadnjeg elementa neke liste. koja je sortiana po nekom kriterijumu (a uvek jeste).Zasto uciti Perl ? . @brojevi.webpretraga. lista @brojevi sada je umanjena za jedan (zadnji) broj.sasvim je nebitno. $zadnji = pop(@brojevi). Na primer. mozemo definisati listu @brojevi u koju cemo smestiti sve brojeve od 1 do 10: @brojevi = (1.com/perl/perl-brzi-prirucnik/perl-tutorial.

imamo sledecu listu brojeva: ".30). napravicemo prvo listu sa nekim brojevima: @brojevi = (1. dobijete sledece : 38 of 61 26. Mozda ce neki to zeleti da urade bez zagrada. 12. dodajuci broj 12: push @brojevi. Koristeci operator push. Sada nam treba da dodamo element na kraj reda. ovako: push(@brojevi. push @brojevi. push @brojevi.. @dodatak. 11). print "\n".30). push(@brojevi.. print "lista @brojevi sad sadrzi: ". dodacemo broj 11 u listu.10). Da bi to uradili koristicemo Perl operator "push". Kada sve napisete u formi malog programcica. to izgleda ovako: #!/usr/bin/perl #snimite program kao push.pl. @brojevi.Uvod . Kada pokrenete mali programcic push. print "\n". @dodatak.12.pl @brojevi = (1... @brojevi. print "Nakon dodatka. koji smo napisali.com/perl/perl-brzi-prirucnik/perl-tutorial. 11). push @brojevi. @brojevi. 12.10). Kao i u primeru o operatoru pop. #sad ubacujemo brojeve od 20 do 30 @dodatak = (20.com http://webpretraga. print "Nakon upotrebe operastora push za 11 i 12:". A ako napravite dodatnu listu sa brojevima od 20 do 30.webpretraga.Zasto uciti Perl ? .html Dodavanje na kraj reda Koristili smo Perl operator pop kada smo uzimali element sa kraja reda i koristili ga za nesto.2011 11:13 . kasnije u programima. to ide ovako: @dodatak = (20.

Uvod - Zasto uciti Perl ? - webpretraga.com

http://webpretraga.com/perl/perl-brzi-prirucnik/perl-tutorial.html

Operatori shift/unshift
Sazetak: Shift i Unshift se odnosi na operacije sa elementom na pocetku liste. Shift "uzima" element, unshift "stavlja" element na pocetak liste.

Aktivnosti na Pocetku Perl Liste
Rekli smo da cemo koristiti Perl operator pop kada treba da skinemo neki element u listi i upotrebimo ga znesto. Takodje, operator push smo koristili da umetnemo element na kraj niza. Sta se desava kada treba da operisemo sa elementima, ali na pocetku liste, tj. niza elemenata ? Upotreblavacemo operatore shift i unshift. Operatorom shift uzimamo neki element liste sa pocetka, a operatorom unshift ubacujemo element u postojecu listu. Prvo da napravimo neku listu sa imenima:
@imena = qw(John Michael Nick);

Recimo da nam treba za nesto izdvojen element "ime", a uzecemo ga sa pocetka liste.
$ime = shift(@imena);

Sada lista @imena sadrzi samo imena Michael i Nick, a element $ime je John. Jos jednom:
$ime = shift(@imena);

Sada lista @imena sadrzi ime Nick. Dosta oduzimanja sa pocetka liste. Hajde da neko ime i dodamo na pocetak.
unshift(@imena, "Patrick"); unshift(@imena, "Alex");

Ako to sve sklopimo u mali program, imamo sledece:
#!/usr/bin/perl #snimite program kao shift.pl @imena = qw(John Michael Nick); print "promenljivoj \"ime\" dodeljujemo element sa pocetka reda \n"; $ime = shift(@imena); print "promenljivoj je dodeljena vrednost: ", $ime; print "\n"; print "Pa opet\n"; print "promenljivoj \"ime\" dodeljujemo element sa pocetka reda reda\n"; $ime = shift(@imena); print "promenljivoj je dodeljena vrednost: ", $ime; print "\n"; print "A sada ubacujemo imena na pocetak liste: \n"; unshift(@imena, "Patrick"); unshift(@imena, "Alex"); print "Lista imena sada izgleda ovako:", @imena;

Kada se pokrene programcic shift.pl, dobijemo sledece:

39 of 61

26.12.2011 11:13

Uvod - Zasto uciti Perl ? - webpretraga.com

http://webpretraga.com/perl/perl-brzi-prirucnik/perl-tutorial.html

Upravljacka struktura foreach
Sazetak: Koristicete "foreach" u Perl-u kada zelite nesto uraditi nad svim elementima liste.

Trcanje kroz Perl Listu
U koliko zelite da na nekim elementima jedne liste zelite izvrsiti istu operaciju, mozete koristiti upravljacku strukturu foreach. Karakteristika upravljacke strukture foreach jeste da prolazi kroz listu, te da po zadatim ketirrijumima izvrsava neke operacije. Ako definisemo neku listu sa brojevima, a zelimo da za svaki broj istampamo: "Ovo je broj: x", onda bi se to moglo ovako napisati:
#!/usr/bin/perl @brojevi = (1..10); foreach $broj ( @brojevi ) { print "Ovo je broj: $broj.\n"; }

40 of 61

26.12.2011 11:13

Uvod - Zasto uciti Perl ? - webpretraga.com

http://webpretraga.com/perl/perl-brzi-prirucnik/perl-tutorial.html

Hajde da prosirimo programcic. Recimo, da na svaki broj u listi dodamo 5:
#!/usr/bin/perl @brojevi = (1..10); foreach $broj ( @brojevi ) { print "Na broj $broj, dodali smo 5", $broj += 5; }

Mozda naslucujete, mozda ne, ali mozete uraditi gomilu korisnih stvari sa upravljackom strukturom foreach. Ako vam nista ne pada na pamet, ili ako vam je Perl prvi programski jezik, logicno je da cete dobijati ideje malo kasnije. Da bi covek uspesno programirano, potrebno je da akumulira mnogo znanja o racunarima i operativnim sistemima generalno, a tek nakon uvida u mogucnosti programskih jezika, otvoricete sasvim novo polje u radu sa racunarima. Mogao bih se kladiti da cete biti zaprepasteni sta ce vam za izvesno vreme padati na pamet, kada se otisnete u svet pisanja programa za posebne namene :)

Podrazumevana Promenljiva: $_
Sazetak: Perl skracuje vreme za pisanje programa i cini program jednostavnijim upotrebom podrazumevane promenljive, oznake "$_".

Podrazumevano, a Korisno.
Secate se kada smo na pocetku ovog Perl kursa rekli da cete zavoleti programiranje ? Dame i gospodo, dobro dosli u lekciju o podrazumevanoj promenljivoj u Perl-u, cija je oznaka "$_", naravno, bez navodnika. Verovatno cete vremenom nekgde cuti ili procitati da su ljudi koji vole programirati u Perl-u posebna vrsta zverki. E pa, bili su u pravu. Postojanje podrazumevane promenjive $_ sluzi Perl programerima da skrati vreme za kucanje, a sasvim izvesno, i da nas oslobodi muka smisljanja naziva za razno-razne promenljive koje bismo inace morali definisati da programiramo u drugim programskim jezicima. Mozda cete se zapitati: "A kako to da smisljanje naziva za promenljive dosadi ?". Odgovor je veoma prost - probajte napisati neki veci program, od recimo 5000 redova koda, cak i sa komentarima. Sta mislite koliko ce vam se puta desiti da na vise mesta budete u iskusenju dati isto ime za neke slicne promenljive, gde

41 of 61

26.12.2011 11:13

tj. tako da ne lupamo glavu smisljanjem imena: #!/usr/bin/perl print "Unesite neki broj pa pritisnite ENTER\n". racunaru ne znaci nista. dali joj ime. Zapamtite. to za njega ne znaci nista. da se vratimo promenljivoj "$_". Prvo cemo napisati program sa nekom promenljivom. a ne na programersku birokratiju :) Operator reverse Sazetak: Ponekad je potrebno da elemente jedne liste poredjamo "unatraske". u realnosti.html njihova slicnost. Na primer. mozemo ga i skratiti upotrebom podrazumevane promenljive. 42 of 61 26. nece znati sta to uopste kuckate. koju smo mi definisali. Kada budete naucili jos posebnih oznaka u Perl-u postoji sansa da ce vas ostali programeri (koji rade u drugim jezicima) cudno gledati. Hajde da vidimo sta to "podrazumevana promenljiva" znaci na sledecem primeru. hocemo listu brojeva brojeva od 10 do 100: #!/usr/bin/perl @brojevi = ( 10. } if ($_ >= 5) { print "Perl je extra programski jezik". vi cete sve to resavati mnogo brze. bicete vise usredsredjeni na resavanje samog zadatka. Jednostavno. bez obzira sto im vi iz nekog razloga date slicna imena. $neki_broj = <STDIN>. Neka to bude ulaz sa tastature: #!/usr/bin/perl print "Unesite neki broj pa pritisnite ENTER\n".12. racunar i program koji pisete radi ono sto mu vi kazete. print @brojevi..com http://webpretraga. Promena Redosleda Elemenata Operator reverse je veoma zgodna opcija u Perl-u. vama ce to biti smesno.Zasto uciti Perl ? . Mogu vam samo reci da to nije nista.webpretraga.com/perl/perl-brzi-prirucnik/perl-tutorial.2011 11:13 . Medjutim. i dodelili neku vrednost. a ona druga potpuno drugacija. predstavlja apsolutnu razliku. A to sto se vama neke stvari cine "slicnim". if ($neki_broj < 5) { print "manji od 5". } if ($neki_broj >= 5) { print "Perl je extra programski jezik". jer dok oni budu smisljali nazive za promenljive i lupali glavu gde su sta stavili u programu. tj. Za racunar je jedna promenljiva jedna. $_ = <STDIN>. if ($_ < 5) { print "manji od 5". medjutim. Oznovni zadatak operatora reverse je da neke vrednosti iz liste postavi u obrnutom redosledu.Uvod .100 ). } Moguce je da vam se sada cini da source programa koji pisete polako pocinje da lici na neki spijunski kriptovan dokument. Racunar jednostavno ne zna da razmislja kao programer. je sasvim vasa stvar :) No. } Navedeni source je tacan. To sto se vama nesto cini slicno. i kada mu kazete da je nesto slicno necemu drugom.

obrnuto : #!/usr/bin/perl @brojevi = ( 10..2011 11:13 .html A sada hocemo listu brojeva. Operator sort Sazetak: Mozda ce nam zatrebati sortiranje elemenata liste po ASCII redosledu. imenima.com/perl/perl-brzi-prirucnik/perl-tutorial.com http://webpretraga. @obrnuto = reverse(@brojevi). Sortiranje Elementa u Perl-u Operator sort cete koristiti u Perl-u kada je potrebno da sortirate elemente niza po ASCII redosledu. print @obrnuto.12.100 ). Na primer. imamo listu sa brojevima.Uvod . posebnim znakovima: #!/usr/bin/perl 43 of 61 26.webpretraga.Zasto uciti Perl ? .

Uvod . print @dzungla. print "\n". Nick. pre kojih su posebni znaci.webpretraga. nick/. STDIN kao lista Sazetak: 44 of 61 26. Sada cemo napraviti sredjenu. %. tj. bitno je da znate da tako nesto postoji i da vam moze koristiti kod sredjivanja veceg broja elemenata liste. john. #. 22. 22. Patrick. %. @dzungla. 45. a pre slova su brojevi. sortiranu listu i isprintati je: #!/usr/bin/perl @dzungla = qw/ 1.2011 11:13 .com http://webpretraga.html @dzungla = qw/ 1. nick/. Nick. John. velika slova su pre malih slova.12. @sredjeno. U principu.Zasto uciti Perl ? . print "Osnovna lista: ". John. 45. john.com/perl/perl-brzi-prirucnik/perl-tutorial. print "Sredjena lista: ". kod ASCII sredjivanja. #. Nema potrebe da se zamarate detaljno ASCII sredjivanjem. @sredjeno = sort @dzungla. Patrick.

print "Ovaj potprogram uvecava neki broj za 100. ili procitanog reda.com/perl/perl-brzi-prirucnik/perl-tutorial. Svaki red koji je unesen preko tastature. &uvecavam. $broj. nego izvlacite iz nekog fajla. svaki put kad se pokrene >>> ".Zasto uciti Perl ? . radilo se o skalarnom kontekstu. Isto tako. chomp(@unos). predstavlja poseban element liste. &uvecavam. &uvecavam. &uvecavam. Sada pricamo o "kontekstu liste". Potprogrami u Perl-u Sazetak: Nas program mozemo pojednostaviti pisanjim manjih potprograma. Kontekst liste znaci da operator <STDIN> koristi sve redove. &uvecavam. do samog kraja fajla.html Ulaz sa tastature se moze posmatrati na vise nacina. print "\n".webpretraga. Ako se desi da elemente liste ne definisete preko tastature. naredbom chomp ( u kontekstu liste ) uklanjate oznaku za kraj reda za svaki red/element koji ste uneli. Poenta price je da nakon svakog unesenog. moguce je stvari posmatrati i kroz kontekst liste. Kada smo chomp-irali redove u spomenutoj lekciji. Na primer. Podrutine po Potrebi Perl raspolaze sirokom lepezom opcija i funkcija pomocu kojih mozete pisati komplikovane i ozbiljne programe. 45 of 61 26. Chomp-iranje i Perl Konteksti Secate se kada smo govorili o operatoru chomp ? Treba obratiti paznju.Uvod . } #Da bi "pozvali" potprogram u glavnom programu koristite ampersand: "&".12. do kraja "datoteke". #!/usr/bin/perl #Program snimite kao uvecavac. Pored skalarnog konteksta.2011 11:13 . #!/usr/bin/perl @unos = <STDIN>. sto na engleskom znaci "subroutine". podrutina.pl sub uvecavam { $broj = $broj + 100. Potprogrami u Perl-u pocinju sa oznakom "sub". stampa neki broj uvecan za 100. &uvecavam.com http://webpretraga. tj. svi redovi fajla ce biti procitani. sledeci filozofiju ozbiljnih programskih jezika. napisacemo mali potprogram koji svaki put kada se "pozove" u glavnom programu. moguce je da napisete i potprogram.

#!/usr/bin/perl print print print print print "##########################################################\n". iz nekog razloga. tj. da rade ono stovi prethodno definisete.html Moze se desiti da vam koncept potprograma nije jasan u pocetku. da se organizuje na takav nacin da odvojite neke delove programskog source-a kao posebne celine u kojima znate sta stoji.Uvod . "##########################################################\n".12.2011 11:13 . potprogram uradi neku operaciju nad tim programima. print "\n". print "Unesite DRUGI broj pa pritisnite ENTER\n". To je u redu. tastature. Dodavanje Dinamike U prethodnoj lekciji smo obradili Perl potprograme. print "Unesite PRVI broj pa pritisnite ENTER\n". tj. ili uradite nesto trece. print "\n". ali isto je tako moguce uciniti ih "aktivnim" prosledjivanjem argumenata. iz razloga sto ce vam ideja za pisanje potprograma doci onog trenutka kada vam se ucini da program koji pisete moze da se napise "citkije". a u nastavku programa prikazate rezultat tog programa. a da ne dirate ostatak programa. tj. Tacno je da vase poptrograme mozete uciniti nefleksibilnim. Argumenti Perl Potprograma Sazetak: Argumente potprogramima mozete proslediti na vise nacica. "\n". Niko nam ne brani da napisemo neki programcic koji uzima argumente preko standardnog ulaza. "\n". sub sredina { $sredina = ( $prvi_broj + $drugi_broj ) / 2. "Program za izracunavanje aritmeticke sredine dva broja: \n".Zasto uciti Perl ? . i da se tu prica zavrsava. koje lako mozete promeniti. $prvi_broj = <STDIN>.com/perl/perl-brzi-prirucnik/perl-tutorial.com http://webpretraga. Moze vam se uciniti da su potprogrami poprilicno "staticni". } 46 of 61 26.webpretraga. $drugi_broj = <STDIN>.

"\n".com/perl/perl-brzi-prirucnik/perl-tutorial. $prezime). 47 of 61 26. Globalno ili Privatno ? Da bi ste ispratili ovu lekciju. ili leksicke promenljive. print "Unesite neko Prezime: ". "Ime: ". Promenljive mogu biti globalne i privatne. Privatne promenljive nece biti menjane. $ime = <STDIN>. printajuci vrednosti globalnih i privatnih promenljivih : #!/usr/bin/perl #Snimite program kao privatne. print print print print print print "Globalne promenljive: \n". One su. $ime. budete izvrsavali odredjene operacije. "\n". sub privatno { my ($ime. $prezime. Privatne Promenljive u Perl Potprogramu Sazetak: Privatne promenljive vas resavaju nedoumica kod dodela imena. ako negde drugde u programu postoje promenljive istog imena. print "Aritmeticka Sredina iznosi: ". $prezime = <STDIN>. $ime. a vi nad njima.\n".Uvod . se prave upotrebljavajuci oznaku.12. tj. operator "my". jednostavno receno.com http://webpretraga.webpretraga. Mozemo to predstaviti pomocu malog programa. "Prezime: ".pl $ime = "John". promenljive sa "ogranicenom teritorijom". "\n". Privatne promenljive. &sredina. print "Unesite neko Ime: ".Zasto uciti Perl ? .2011 11:13 . potrebno je da ste razumeli lekcije o Perl potprogramima i o argumentima u Perl potprogramima. $prezime = "Smith".html print "Aritmeticku sredinu smo dobili iz potprograma \"sredina\". ili pomocu njih. print "Ime iz potprograma je:".

.html print "Prezime iz potprograma je:". Uvodjenje Discipline na Perl Nacin Ovu lekciju bi trebali proci nakon citanja lekcije o davanju imena u Perl-u. print "\n"..\n". } print "\n". Programiranje je zanimljiva stvar.2011 11:13 .com/perl/perl-brzi-prirucnik/perl-tutorial. Za izvesno vreme. print "Pokretanje potprograma. Uvek cete moci da uradite to sto ste zamislili na vise nacina. Ponekad cete imati toliko mogucnosti da ce dvoumljenje sta upotrebiti predstavljati vecu boljku od svega ostalog. Pragmu use strict uvek navodite na pocetku programa (u kodu). sta moze da se izbegne. Pragmu use strict aktivirate bas tako: #!/usr/bin/perl use strict. Pragma Use Strict Sazetak: Ispravnost vecih programa se stice disciplinom kod pisanja manjih. print "Potprogram \"\&privatno\" je izvrsen uspesno.Uvod . nema potrebe da se opterecujete. a sta ne.. $prezime. a definitivno je dobra ideja da je koristite od pocetka pisanja programa (vremenski). kada akumulirate malo vise znanja.rezultat mnogih neprospavanih noci..12. 48 of 61 26.. Ovom pragmom forsirate neka pravila koje je vreme iznedrilo kao korisnam.Zasto uciti Perl ? . &privatno.\n".webpretraga. print "\n". koja namece svojevrsnu disciplinu prilikom pisanja programa. Pragma-ma. ako ste pocetnik.. Verovatno cete pokusati preduprediti probleme upotrebom Pragme use strict. Ako vam se kojim slucajem desi da ubacite use strict u program koji ste napisali ranije. sasvim je izvesno da cete prilikom izvrsavanja programa dobiti gomilu upozorenje... Cak i pored toga. znacete sta moze da vam napravi problem u napred. a ta pravila su uvedena od nekih ozbiljnih i nadarenih programerskih umova.com http://webpretraga. print ". #A ispod ovog komentara slede gomile i gomile koda.\n".

Podrutinu. u nekom zamisljenom. john. %.2011 11:13 . @sortirano = sort(@dzungla). 45. Patrick. nick/. john.Uvod . Napravicemo listu "@dzungla"kombinavanu od brojeva.pl): #!/usr/bin/perl #Programcic snimite kao return. return @sortirano. john. i sortiranju elemenata liste. imena i posebnih znakova. pocinjemo sa "sub": sub sortiranje_liste { @dzungla = qw/ 1. nick/. ne bi videli njegov rezultat. #. ako je to potrebno.pl sub sortiranje_liste { @dzungla = qw/ 1.com http://webpretraga.\n\n". %. #. %.html Operator Return Sazetak: Uz pomoc Operatora Return mozemo dobiti neku vrednost u potprogramu. da nismo stavili print ispred potprograma. 45. 22. vecem programu (return. 22. ne zaboravimo. } print "Napomena. print &sortiranje_liste. Nick. Return i Podrutine u Perl-u Da bi ste lakse razumeli ovu lekciju. John. Nick. } Ako sad pokrenete potprogram @sortiranje_liste.webpretraga.Zasto uciti Perl ? . i proslediti rezultat dalje. Unos Parametara 49 of 61 26. Patrick. Patrick. John. 22.com/perl/perl-brzi-prirucnik/perl-tutorial. Nick. 45. ali u ovog puta u zamisljenom potprogramu (podrutini) koju cemo nazvati sortiranje_liste: @dzungla = qw/ 1. bilo bi dobro da se podsetite price o potprogramima u Perl-u. return @sortirano. nick/.12. #. Upotrebicemo i primer iz lekcije o sortiranju elemenata. @sortirano = sort(@dzungla). John. ali bi on (potprogram) svejedno bio izvrsen.

. Da ponovimo na brzinu. Rekli smo da uzimamo parametre sa tastature preko komande <STDIN>: $uneto = <STDIN>. } U kontekstu liste.. print "Ovde ide neki vas source.html Sazetak: Koristite napredne opcije kod unosa parametara .\n".2011 11:13 . Napredna Upotreba Unetog Da.. print "Ovde ide neki vas source. vreme je da ih sistematizujemo.... while (defined($uneto = <STDIN>)) { print "Uneto preko tastature: $uneto \n". } Secate se price o podrazumevanoj promenljivoj "$_" ? while (defined($_ = <STDIN>)) { print "Uneto preko tastature: $_ \n".com http://webpretraga..\n". chomp($uneto). mozete upotrebiti i "foreach" : foreach (<STDIN>) { print "Uradi nesto . ali to ne znaci da se tu prica zavrsava.12.com/perl/perl-brzi-prirucnik/perl-tutorial.webpretraga. tacno je da smo u jednoj od prethodnih lekcija obradili unos parametara preko tastature u Perl-u. Kako mozemo biti sigurni da je nesto uopste uneto preko tastature. Obzirom da smo prosli kroz dosta lekcija.\n".Zasto uciti Perl ? .Uvod .ako vam to odgovara. } 50 of 61 26. Prisetimo se lekcije o "while" i "defined".

Ako imate mnogo parametara za unos u terminalu.12. U tom slucaju im predlozite da nauce programiranje :) Da vidimo sad kako proslediti programu parametre u "terminalu" : 51 of 61 26. navedu i parametri (na istoj liniji). cudna stvorenja.varate se. Unos preko Dijamanta Sazetak: Dijamanti su prava stvar. Bar sto se tice Windows sistema./vas_program parametar1 parametar2 parametar3 Naravno.com http://webpretraga. posto su oni jednostavno prirodno okruzenje za programiranje u Perl-u. ne znaci da obicni korisnici vaseg programa imaju razumevanja za cackanje po tastaturi vise nego sto smatraju za shodno.. zatim se pritisne ENTER i program nakon toga krene sa izvrsavanjem. na pocetku izvrsavanja.2011 11:13 ...webpretraga. Unos preko dijamanta je specifican po tome sto unapred napravite svoj program da se pokrece sa komandne linije na takav nacin da se.Zasto uciti Perl ? .. To sto ste vi programer. imacete onoliko paramatara koliko vam treba da pokretanje programa a da ne bude preterano konfuzno. nakon navodjenja imena programa.. Korisnici su . bolje razmislite o tome da program nekako uprostite. generalno. Dakle.html Kad smo vec kod onog znaka "^Z". pogotovo ako misle da to moze bolje. Pokretanje iz Terminala Ako ste mislili da parametre za program mozete unositi samo u programu. bitno je napomenuti da ste vi inapred osmislili vas program da prima ulazne podatke preo komadne linije. Na UNIX sistemima program bi pokretali ovako: $ . ili da su parametri direktno uneseni u source programa . To znaci da smo pritisnuli na tastaturi kombinaciju za prekid CTRL + Z. kucajuci preko tastature. Kod Perl-a se koriste za pravljenje programa koji rade zadavajem parametara preko tastature.Uvod .com/perl/perl-brzi-prirucnik/perl-tutorial. Parametre vasem programu mozete "proslediti" preko tastature i pomocu operatora "dijamant". sto cete cesto raditi na UNIX i slicnim sistemima.

a ovde %s. "prvo".12. 34 ** 25. "trece".com/perl/perl-brzi-prirucnik/perl-tutorial. za brojeve druge. $godine = trideset.". printf "Moje ime je: %s. } Bez obzira sto sam naveo da program nece raditi na Windows sistemima tako da prihvati ulaz preko DOS prompt-a. posto ce Perl pokusati predvideti kako ste zeleli da broj bude prikazan.Zasto uciti Perl ? .html #!/usr/bin/perl # !!! Ovaj primer ce raditi na UNIX sistemima iz komandne linije. postupak je slican. u zavisnosti od eventualnih operacija nad brojevima: printf "Prvi broj: $g. Naredbi print prosledjujemo sablon a zatim i elemente kojim hoce omda oppunimo taj sablon. prezime: %s. ne i na Windowsu is DOS prompt-a.". $godine. Umesto "%s". rezultat mnozenja: %g. $prezime = "Smith".2011 11:13 . ipak ga pokrenite. i napunio sam: %s. bez navodnika : printf "Ovde ubacujemo %s. cisto da vidite sta ce se desiti :) Naredba printf Sazetak: Ponekad je potrebno napraviti sablone za jasniji prikaz podataka. 52 of 61 26. kod brojeva se najcesce koristi "%g".com http://webpretraga. veci broj: $g". $prezime. za tekst sablone cete koristiti oznaku "%s". Formatiranje Izvestaja Naredba printf se koristi kada su nam potrebni takozvani sabloni za stampanje. ovde %s.Uvod . print "Uneto je: $_ \n". 5 x 6. $ime. while (<>) { chomp. 3. "drugo".webpretraga. A mozemo definisati i promenljive: $ime = "Michael". Sto se brojeva tice. Na primer. Bitno je samo da znate da za tekst upotrebljavate jedne oznake.

html Ako vam je potrebno zaokruzivanje.1434235.2011 11:13 . upotrebicete "%d": printf "Ovaj broj ce biti zaokruzen: %d". printf $sablon. tu je zadavanje sirine polja "%15d" : printf "Ovaj broj ce biti zaokruzen: %15d\n". 454312. definisanju formata sablona. @lista. my $sablon = "Imena su: \n" . ("%20s\n" x @lista).com/perl/perl-brzi-prirucnik/perl-tutorial. 53 of 61 26.43424. 123123. 6543. Prosledjivanje iz Liste Prosledjivanje elemenata iz liste naredbi printf se sastoji u pravljenju liste.com http://webpretraga. printf "Ovaj broj ce biti zaokruzen: %15d\n". 454312.Zasto uciti Perl ? .Uvod . Umesto "%15d" mozete staviti sirinu polja koja vam odgovara.453123.12. i prosledjivanju elemenata: my @lista = qw( Michael Nick John ).webpretraga.1434235. Za ljubitelje tabelarnog prikaza. printf "Ovaj broj ce biti zaokruzen: %15d\n".

je da koristite velika slova. Kako do Veze ? Ne citajte ovu lekciju ukoliko niste procitali osnove identifikatora datoteka u Perl-u. identifikatori sluze kao specificna veza do datoteke.webpretraga. ali za pocetak je sasvim dovoljno da se zabavljate sa dva programa. Zamislite da sve u programu pisemo malim slovima. STDOUT (standardni izlaz). To su STDIN (standardni ulaz). stampac ili monitor. Najkrace receno. Pravljenje Identifikatora Datoteke Sazetak: Pravljenje identifikatora datoteka u Perl-u je stvar jednog programskog reda.12. Ono sto je narocito zanimljivo.. pri cemu se izlaz jednog programa koristi kao ulaz u drugi program.com/perl/perl-brzi-prirucnik/perl-tutorial.html Identifikatori Datoteka Sazetak: Identifikator datoteke je veza do datoteke.com http://webpretraga. postoji jos mnogo opcija. je da u zavisnosti od vasih potreba. a za izlaz. Jedna od prednosti poznavanja UNIX i slicnih sistema je upravo u laksem savladavanju koncepta preusmeravanja (piping) prilikom ucenja programiranja. STDERR (izlaz za greske). Tesko da bi pisanje u takvom programskom jeziku bilo zadovoljstvo. Ukoliko jeste. Za vas su sada najbitnije prve tri. Bitno je da zapamtite da postoji sest osnovnih identifikatora datoteka u Perl-u. Preusmeravanje je proces koji se cesto koristi na Unix sistemima. da navedemo kako se prave identifikatori datoteka: 54 of 61 26. Vezice i Datoteke Ako cete nesto koristiti u Perl-u onda su to identifikatori datoteka. Veze. bez crtica i posebnih znakova. Naravno. bitno je da su vam osnove jasne. tj. ali za pocetak je dovoljno ovo sto sada znate. Preporuka za pisanje identifikatora datoteka.2011 11:13 . Komplikovanije stvari neka dodju kasnije. Jedan od razloga je i to da cete brze zapaziti identifikatore od ostalog dela programskog koda. Naravno. Kod malih programa bar znate gde da odmah trazite gresku. za standardni ulaz mozete birati tastaturu ili datoteku. ARGV i ARGVOUT. DATA. Identifikatori datoteka nisu same datoteke. niko vam ne brani da preusmeravate vise programa..Zasto uciti Perl ? . veze.Uvod .

"danasnji".txt": #Mozete snimiti ovaj primer kao identifikatori.txt u c:\\Perl folderu\n". ne bi bilo lose.txt". LOG. zelimo da sadrzaj neke promenljive upisemo u datoteku "proba.12. oznakom ">izvestaj". Dakle. "> $izlaz". i nekim operacijama nad njima. imamo vise identifikatora pomocu kojih citamo (<).com/perl/perl-brzi-prirucnik/perl-tutorial. to ne znaci da mozete biti aljkavi.Zasto uciti Perl ? . U trecem slucaju. koristimo identifikator "PRIJAVA". open UPIS. koristimo identifikator "LOG". kreiramo datoteku izvestaj radi upisa podataka u nju pomocu identifikatora "NOVO". U prva dva slucaja. print UPIS "Ovo je upisano u datoteku proba. ">>kvarovi".pl $izlaz = "proba.html open open open open LOG. pravimo novu (>). videcete sledece: Zatvaranje Identifikatora Datoteke Sazetak: Identifikator ne morate zatvoriti. koji se nalazi u folderu "c:\Perl".Uvod . ili u bilo kom editoru teksta fajl "proba. kako bi dodali pomocu ">>" nove podatke u datoteku "kvarovi". mozete i zatvoriti identifikator datoteke komandom "close IDENTIFIKATOR": 55 of 61 26.com http://webpretraga. Kada zavrsite sa pravljenjem identifikatora datoteka.webpretraga. print UPIS "test test test\n".2011 11:13 . pa ce za vas uraditi dosta toga kao sto je automatsko zatvaranje datoteka kada program prestane sa radom. ako otvorite u DOS programu EDIT. Na primer. Kulturno Zatvaranje Veze sa Datotekom Ne citajte ovu lekciju ukoliko niste procitali identifikatore datoteka i pravljenje identifikatora datoteka u Perl-u. NOVO. U cetvrtom slucaju. kako bi procitali datoteke "danasnji" i "jucerasnji". "<jucerasnji". I zaista.txt". PRIJAVA. i dodajemo jos sadrzaja (>>) u neku datoteku. ">izvestaj". Mada. ako bas necete. Bez obzira sto je Perl odlican programski jezik.

Kao i funkcija die. Funkcija die Sazetak: Funkcija "die" je korisnija nego sto se misli. vec cim zavrsite sa operacijama nad datotekom. ovde "die" ima veoma cenjenu ulogu :) Funkcija die u Perl-u se koristi kada zelite. a ne nakon sto se jos neka operacije izvrsi u programu.txt u c:\\Perl folderu\n". To sto ova mogucnost postoji. open UPIS. i upisati podatke u nju. Umesto da program prekine izvrsavanje. 56 of 61 26.Zasto uciti Perl ? . ali postoji bitna razlika.12. } Moguce je da vam ovde dve stvari nisu jasne. Obavesti i Prekini Izvrsavanje Programa Opustite se. Funkcija warn Sazetak: Funkcija "warn" vas obacvestava o gresci. vasim recima." if (! open LOG. ako ne mozemo da napravimo datoteku "izvestaj". i upisati podatke u nju: $!". pa Nastavi Izvrsavanje Funkcija warn. Dakle. da program prestane sa izvrsavanjem. print UPIS "test test test\n". Jednostavno. onda to ne radite negde pred kraj programa.pl $izlaz = "proba.com/perl/perl-brzi-prirucnik/perl-tutorial. U principu. a koji se svaki cas oglasava sa nekom greskom.Uvod . ne znaci da mozete tolerisati program koji ste napisali. Znaci. "> $izlaz".txt". program neka napise: "Ne mogu napraviti datoteku izvestaj. proveravajte source korak po korak i pravite arhivu programa koga pisete nekim redosledom koji ce vam biti logican i sutra. onda neka se isprinta poruka o gresci. sem one poruke o gresci koju ste vi. Obavesti o Greskama. tu oznaku treba odmah da navedete iza poruke koju ste vi definisali posle naredbe die. Taj uzvicnik u prevodu znaci : "ako ne moze". print UPIS "Ovo je upisano u datoteku proba. Na primer. Ta oznaka na kraju poruke o gresci sluzi tako da vas sistem dodatno obavesti o tome sta se desava. mada ce vas Perl program perfektno raditi i bez toga. mozete funkciom warn dobiti podatke o imenu programa i programskoj liniji na kojoj je greska. sto je slucaj kod funkcije die. Teorijski bi trebalo nakon svakog otvaranja i da zatvarate identifikator. nakon nastale greske. napravi fajl "izvestaj".html Koristicemo primer iz prosle lekcije o pravljenju identifikatora: #Mozete snimiti ovaj primer kao identifikatori. da nakon uocene greske. ali ne stopira program. tj. je dosta slicna funckiji die u Perl-u. Druga stvar je ova oznaka "$!". definisali. nema napustanja programa.webpretraga. tj. "ako ne moze da se otvori identifikator LOG. close UPIS. pa dodje do eventualne konfuzije.com http://webpretraga. Prva je ono "! open LOG".2011 11:13 . program ce nakon poruke koja ide posle "warn" nastaviti izvrsavanje. na ekran bude "izbacena" poruka sa opisom nastale greske. ">izvestaj" ) { die "Ne mogu napraviti datoteku izvestaj. A ako se odlucite na zatvaranje identifikatora.

@artikli_cene = values %proizvodi. print "\n".html Hesevi: keys/values Sazetak: Heseve koristite kada za jedan element obavezno imate vrednost ili opis. kroz liste. probajte sa: %proizvodi = ( "Jabuke" => 25. $produkt. sa cenama tih proizvoda: %proizvodi = ( "Jabuke" => 25. 18 ). 25. ). print "Lista Proizvoda: ". recimo . umesto indeksiranja po brojevima. Ako vam prethodni primer izgleda previse "nabacano". $cena. foreach $produkt ( @artikli_kljuc) { print "Proizvod: ". print "\n". ). "Breskve" => 18. Verovatno ste uocili da za kreiranje heseva koristimo oznaku za procenat "%". 25 u slucaju jabuka ). imali smo elemente koji su u listi bili indeksirani po brojevima.12. @artikli_cene = values %proizvodi. napravicemo hes %proizvodi.com/perl/perl-brzi-prirucnik/perl-tutorial. "Kruske" => 44. "Breskve" => 18. Na primer. @artikli_kljuc = keys %proizvodi. } print "\n". "Breskve" => 18. @artikli_cene = values %proizvodi. kada ga pokrenete.Uvod . Da uprostimo. Odlicna stvar je sto iz hesa mozete. a vrednosti su ono sto je desno (cene. @artikli_kljuc. 44. ). kada smo pisali o nisovima i listama.com http://webpretraga. "Kruske" => 44. foreach $cena ( @artikli_cene) { print "Cena: ". print "Cene: ".webpretraga. Ako to sklopimo u mali programcic: %proizvodi = ( "Jabuke" => 25. ili samo vrednosti. ali mislim da ce vam to delovati malo "zbijeno": %proizvodi = ( "Jabuke".2011 11:13 . @artikli_kljuc = keys %proizvodi. tj. "Kruske" => 44. Kljucevi i vrednosti ? Keys and values ? Kljucevi su ono sto je levo ("Jabuke"). Kljucevi i Pridruzene Vrednosti Hesevi su specificni po tome sto se elementi u hesu "uparuju". "Kruske". 57 of 61 26. na malo drugaciji nacin. @artikli_kljuc = keys %proizvodi. sada elemente u hesu mozete nalaziti po "parnjaku" tog elementa.Zasto uciti Perl ? . izdvojiti samo kljuceve. Prethodni hes smo mogli napisati i na jednoj liniji. "Breskve". @artikli_cene.

2011 11:13 . ). Prvi element ce biti kljuc (key). upotrebom funkcije each.com http://webpretraga. upotrebljavacemo je u kombinaciji sa petljom while: while ( ($produkt. "Breskve" => 18. } Funkcija each Sazetak: Funkcija "each" je korisna kod izvlacenje elemenata iz hesa radi lepseg prikaza. Kljuc/Vrednost Listanje Nemojte mesati funkciju each koju obradjujemo sada. $cena) = each %proizvodi ) { print "$produkt => $cena\n".Uvod . a drugi element liste ce biti vrednost (value). iz lekcije o hesevima: %proizvodi = ( "Jabuke" => 25.12. Ako hocemo proci brzo kroz hes. "Kruske" => 44. da iskoristimo hes sa proizvodima i cenama.Zasto uciti Perl ? . sa ranijom lekcijom o funkciju foreach.html print "\n". ako nista drugo. } Rezultat je jasan: 58 of 61 26.webpretraga.com/perl/perl-brzi-prirucnik/perl-tutorial. Funkciju each koristite kod heseva kako bi od elemenata hesa napravili listu sa dva elementa. Primera radi. Listanje elemenata hesa po sistemu kljuc/vrednost ce se zavrsiti kada se dodje do kraja hesa.

com/perl/perl-brzi-prirucnik/perl-tutorial.12. Kada sklopimo sve : @imena = qw (Nick Michael John). Nakon toga automatski stampamo trenutno stanje liste. Kada bi sada zeleli da obrisemo Michaela iz liste: $obrisano = delete(@imena[1]). ali i listi. print "Obrisali smo:". kada se zeli ukloniti neka kombinacija kljuc/vrednost.Zasto uciti Perl ? . ali: @imena = qw (Nick Michael John). 59 of 61 26. Brisanje Elemenata Heseva i Listi u Perl-u Funkciju delete se koristi kod heseva. $obrisano. Kombinaciju kljuc/vrednost nemate kod listi.webpretraga. print @imena\n.Uvod .html Funkcija Delete Sazetak: Funkcija delete je korisna i kod listi. print "@imena\n".2011 11:13 . $obrisano = delete(@imena[1]).com http://webpretraga. print "@imena\n". i kod heseva.

while ( ($produkt. #Brisemo Jabuke $brisi = delete( $proizvodi { "Jabuke" } ). "Breskve" => 18.Uvod . #Stampamo sadrzaj hesa print %proizvodi. } print "\n".Zasto uciti Perl ? . Ukoliko zelite prethodni primer srediti pomocu funkcije each: %proizvodi = ( "Jabuke" => 25. print "\n". "Breskve" => 18.webpretraga.com http://webpretraga. print %proizvodi. print "\n". ). #Brisemo Jabuke $brisi = delete( $proizvodi { "Jabuke" } ). $cena) = each %proizvodi ) { print "$produkt => $cena\n". "Kruske" => 44. $cena) = each %proizvodi ) { print "$produkt => $cena\n". } 60 of 61 26. ). while ( ($produkt. print "Nakon upotrebe funkcije delete\n".2011 11:13 .html Funkcija delete i hesevi Koristicemo poznati primer iz lekcije o hesevima: %proizvodi = ( "Jabuke" => 25.12.com/perl/perl-brzi-prirucnik/perl-tutorial. print "\n". "Kruske" => 44.

Uvod .com http://webpretraga.12.2011 11:13 .com/perl/perl-brzi-prirucnik/perl-tutorial.webpretraga.html 61 of 61 26.Zasto uciti Perl ? .

Sign up to vote on this title
UsefulNot useful