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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

10 % 3. "\n".com/perl/perl-brzi-prirucnik/perl-tutorial.Zasto uciti Perl ? . 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".0 * 40 = ".0 * 40. 5 * 40. "\n". "\n".2011 11:13 .0 = ". "\n". "\n". 5 + 6.webpretraga.4 + 3 = ".Uvod . ~*~ 21 of 61 26.12. "\n".html 10 % 3 # jeste 1 Ovo zadnje sto smo naveli nije postotak. 5. a ostaje 1 do 10. "\n". "\n".com http://webpretraga. "10 / 2 = ". 5 . 5 * 40. "5 * 40 = ".0 = ". 10 / 2. "2. 5. "\n". "\n".0 * 40. "\n". "5. "5. "\n". "\n". "\n". "5 * 40. Napisacemo mali program brojanica. #!/usr/bin/perl print print print print print print print print print print print print print print print print print print "5 + 6 = ".0 * 40.4 + 3.0.0.2 = ". 2. "\n". nego modulo. "10 % 3 = ". "\n". po obicaju.2. "\n". "\n". "5 . Modulo je ostatak deljenja a posto je 10 : 3 = 3.

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Argumenti Perl Potprograma Sazetak: Argumente potprogramima mozete proslediti na vise nacica. tj. Tacno je da vase poptrograme mozete uciniti nefleksibilnim. iz nekog razloga.2011 11:13 . To je u redu. print "Unesite PRVI broj pa pritisnite ENTER\n". potprogram uradi neku operaciju nad tim programima. 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". 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. sub sredina { $sredina = ( $prvi_broj + $drugi_broj ) / 2.Zasto uciti Perl ? . tj. ili uradite nesto trece. 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.Uvod . print "Unesite DRUGI broj pa pritisnite ENTER\n". $prvi_broj = <STDIN>. "\n".com http://webpretraga. a da ne dirate ostatak programa. "\n". $drugi_broj = <STDIN>. } 46 of 61 26. tj. da rade ono stovi prethodno definisete. #!/usr/bin/perl print print print print print "##########################################################\n". a u nastavku programa prikazate rezultat tog programa. Dodavanje Dinamike U prethodnoj lekciji smo obradili Perl potprograme. i da se tu prica zavrsava. ali isto je tako moguce uciniti ih "aktivnim" prosledjivanjem argumenata.12.webpretraga. print "\n". print "\n". tastature. "Program za izracunavanje aritmeticke sredine dva broja: \n". Moze vam se uciniti da su potprogrami poprilicno "staticni". "##########################################################\n".com/perl/perl-brzi-prirucnik/perl-tutorial.

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Sign up to vote on this title
UsefulNot useful