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

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

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

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

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

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

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

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

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

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

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

pritisnemo ENTER.html Stampanje vise redova. #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. jedan ispod drugog Ok. zadajemo komandu za prikaz na monitoru . i idemo da ga pokrenemo: 1. kao i \n.12. na kraju recenice): #!/usr/bin/perl print "Ovo je prva recenica\n".pl.Zasto uciti Perl ? .pl u "C:\Perl".print.2011 11:13 . 2. "453524343523\n".Uvod . "\n". 3. zajedno sa recenicom pod navodnicima (navodnici su obavezni. Sada definisemo samo prazan red pomocu "\n". Hajde sada da: 1. "\n". 4. 2. 5. naucili smo osnove "stampanja" na ekran. 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. pritisnemo ENTER Trebalo bi da dobijete sledeci rezultat: 14 of 61 26. print "\n". i neke brojeve po izboru: #!/usr/bin/perl print print print print print "Ovo je prva recenica\n". prazan red. 3. 4.webpretraga. Pojavi se "DOS" Odemo u "c:\Perl" (komandom "cd \".com http://webpretraga. Idemo na START > RUN Ukucamo "cmd". "Ovo je druga recenica\n". i komandom "cd Perl") kucamo redovi. Sada unosimo drugu recenicu. #!/usr/bin/perl print "Ovo je prva recenica\n". 5.com/perl/perl-brzi-prirucnik/perl-tutorial.

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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