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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

com http://webpretraga.4 + 3 = ". 5 * 40.0.0 * 40. "\n".0 = ". "\n".0 * 40 = ". "10 % 3 = ". "\n". "5. Modulo je ostatak deljenja a posto je 10 : 3 = 3. 10 % 3. "\n".0. 10 / 2. "5. "\n". Napisacemo mali program brojanica. a ostaje 1 do 10. 5 * 40.com/perl/perl-brzi-prirucnik/perl-tutorial.Zasto uciti Perl ? . nego modulo. "2. po obicaju. "\n". "\n". "\n". "\n".0 * 40.pl i snimiti ga u "c:\Perl". "\n". "\n".2. 5. ~*~ 21 of 61 26. onda je modulo 1 :) Perl i Brojevi u Praksi Hajde da prethodne racunske operacije proverimo u Perl-u. 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 = ". "\n". "\n". 2. 5 . 5 + 6. "5 * 40 = ". "5 * 40. "\n".Uvod . "\n".0 = ".2 = ". "10 / 2 = ". "\n".2011 11:13 .0 * 40.12.webpretraga. "5 .4 + 3. "\n".

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Sign up to vote on this title
UsefulNot useful