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

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

Perl na Windows-u ( 2. To smo uradili u prethodnoj lekciji.Fajl je velicine oko 27MB. Korak 6 .webpretraga.2011 11:13 .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.Zasto uciti Perl ? .com/perl/perl-brzi-prirucnik/perl-tutorial.Biramo x86 verziju. [ Instalacija. Detaljno uputstvo. deo .12.com http://webpretraga.Uvod . Zapamtite gde ste ga snimili. Potrebno je da pokrenemo instalacioni fajl: 5 of 61 26.html Korak 5 .

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Na primer.Uvod .html A sada hocemo listu brojeva. print @obrnuto.com/perl/perl-brzi-prirucnik/perl-tutorial.100 ).com http://webpretraga..Zasto uciti Perl ? . 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. @obrnuto = reverse(@brojevi). posebnim znakovima: #!/usr/bin/perl 43 of 61 26.webpretraga.2011 11:13 . obrnuto : #!/usr/bin/perl @brojevi = ( 10.12. Operator sort Sazetak: Mozda ce nam zatrebati sortiranje elemenata liste po ASCII redosledu. imenima.

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Sign up to vote on this title
UsefulNot useful