Dar vieno analitiko svetainė

Petras Kudaras

Perlo skaitymo iš bylų būdai

Perlas leidžia nuskaityti duomenis iš bylų daugybe būdų, kai kurie ganėtinai bjaurūs ir nenaudotini. Štai kad ir šis, sutinkamas dažniausiai: { local $/ = undef; open FH, "<$byla"; $duomenys = <FH>; close FH; } Teigiamos pusės: visiems įprasta. Iš kart nuskaito duomenis iš bylos nenaudojant tarpinių masyvų. Neigiamos pusės: $duomenys negali būti leksinis kintamasis, aprašytas su my, nes specialiai reikia sukurti bloką tam kam lokalizuotume $/ Kitas dažnas pavyzdys: @ARGV = ($byla); my $duomenys = join '', <>; Teigiama: Trumpa ir aišku. Skaityti toliau…

Išleistas Perl 5.8.1 RC1

Atrodo, kad ką tik išleistas Perl 5.8.1 RC1. perldelta dokumentacijoje matosi keletas pakeitimų. Vienas svarbiausių pakeitimų yra asociatyviųjų masyvų atsitiktinės tvarkos pagerinimo algoritmas (ten BugTraq berods rašė jog galima padaryt DOS ataką prieš programą, nes kol kas dauguma asociatyviųjų masyvų ne visai atsitiktiniu būdu sudaro masyvo raktų eilę – sudėtingas tas bugas, tik žinau kad egzistuoja beveik visose kalbose ir programose ir kad gali dėl to gautis Denial of Service, nors atrodo tik teoriniam lygyje) Skaityti toliau…

Įvadas į Perl: trečioji dalis: operatoriai ir I/O

Operatoriai ir funkcijos Perlas turi daug standartinių funkcijų. kai kurias jau matėme šiame įvade (tokias kaip print, sort arba reverse). Pilnas funkcijų sąrašas yra perlfunc dokumentacijoje ir apie kurią nors funkciją lengva pasiskaityti konsolėje įvedus perldoc -f funkcijospavadinimas. Perlo operatoriai pilnai aprašyti perlop dokumentacijoje. Štai keletas dažniau sutinkamų: Aritmetiniai: + sudėtis - atimtis * daugyba / dalyba Matematinio palyginimo: == lygybės != nelygybės < mažiau negu > daugiau negu <= mažiau arba lygu >= daugiau arba lygu Simbolių eilučių palyginimo: Skaityti toliau…

Darbai, darbai…

Jau galvojau, kad baigsis Dainų šventė tai bus kada atsikvėpt. Pasirodo užgriūva nauji projektai, kurie beje susiję labiau su mano darbu (internetas, programavimas, adminavimas ir pan.) Per pastarąsias dienas baiginėju verst perlintro – nėra ten tiek daug, bet visi laiko neturi, tame tarpe ir aš pats, tad gaunasi viskas lėtai. Na tikiuosi ryt poryt papostint paskutines „įvado į Perl“ dalis.

Kas svarbiausia šablonų varikliams

Nuskaičiau šiandien PHP forume įdomią diskusiją apie tai kas svarbiausia PHP šablonų varikliuose (ačiū scooox už nuorodą). Labiausiai prieštaringų minčių man sukėlė citata O jei template nera svarbiausia greitis… tai kas tada svarbu? Navarotai? Jei taip – tada tu grybas. Tiesą sakant „navarotai“ yra labai svarbu. Ir turbūt svarbiausia (na, jei greitis nėra visiškai šliaužiantis). Gyvename tokiais laikais kai kompiuterio laikas yra pigus, o programuotojų laikas kainuoja brangiai, tad aš geriau rinkčiausi lėtesnę šablonų sistemą (na, ne tris kart lėtesnę, bet tarkim iki 50% lėtesnę) jei su ja man būtų žymiai lengviau programuoti. Skaityti toliau…

PHP šablonai: kodėl ne HTML?

Pasiskaičius apie lietuviškus (ir ne tik) PHP šablonus pasidarė man labai keista ir įdomu kodėl visuose php šablonuose naudojamos kelių stilių žymos (t.y ir <tplbilekas> HTML stiliaus ir {foo.bar} stiliaus) Kažkaip nesugebu šito pateisint niekaip. Juk gi su tais {} tik problemos su JavaScriptais ir panašiai (pamenat, pukomuko ten changeloge vargai aprašyti? :) Be to su HTML stiliaus žymomis tai jei nesuveikia šablonas dėl kažkokių priežasčių, tai nelenda šiūkšlės į ekraną, nes naršyklės ignoruoja nežinomas HTML žymes. Skaityti toliau…

Įvadas į Perl: antroji dalis: kintamųjų sritys, ciklai ir sąlygos

Kintamųjų sritys** Kol kas visada kintamuosius aprašėme naudodami šią sintaksę: my $kintamasis = "reikšmė"; Tiesą sakant, my nėra būtinas, galima tiesiog rašyti: $kintamasis = "reikšmė"; Tačiau jei praleidžiate my, sukuriamas globalusis kintamasis visoje jūsų programoje, o tai nėra pats geriausias programavimo būdas. my sukuria leksinės srities (lexically scoped) kintamąjį, kuris galioja tik tame bloke, kuriame jis yra aprašytas (bloką sudaro keletas sakinių, apskliaustų figūriniais skliaustais). my $a = "foo"; if ($kazkas) { my $b = "bar"; print $a; # spausdina "foo" print $b; # spausdina "bar" } print $a; # spausdina "foo" print $b; # nieko nespausdina, nes $b galiojimo blokas jau baigėsi Jeigu naudosite my kartu su use strict; jūsų programos pradžioje, Perlo interpretatorius galės pastebėti dažnas programuotojų klaidas ir apie tai jus įspėti. Skaityti toliau…

Dainų šventė

Kaip jau turbūt pastebėjot, paskutiniu metu čia ne dažnai atnaujinu svetainę. Priežastis paprasta – dainų šventė. Dirbu gi kompanijoj, kuri yra organizatorius, tad šią savaitę tikrai pakanka darbo ;)

Įvadas į Perl: pirma dalis: sintaksė ir kintamieji

Kažkada praeitą savaitę buvau pradėjęs versti perlintro dokumentaciją, bet kol kas to nesu baigęs daryti. Na, gal kam bus naudinga ir tai ką jau esu padaręs, tad štai pirmoji įvado į perl dalis ;) Kas yra Perl? Perl yra bendros paskirties programavimo kalba, kuri pradžioje buvo skirta teksto manipuliavimui, o dabar yra naudojama daugeliui užduočių: sistemų administravimui, interneto svetainių, tinklo, grafinių sąsajų programavimui ir kitoms užduotims. Ši kalba yra labiau praktiška (lengva naudoti, efektyvi, pilna) negu graži (maža, elegantiška, minimalistinė). Skaityti toliau…

Frontpage vartotojai

Man nedažnai tenka bendraut su klientais, kuriems reikai atlikti kokius nors internetinių svetainių programavimo darbus, tad šiandien susitikimas su vienu tokiu man pasirodė labai keistas. Užsakovas, firmos vadovas buvo labai malonus, viskas ten su juo sutarta, viskas tvarkoj. Perdavė jis tą visą reikalą tvarkyt vienam tokiam darbuotojui, kuris matyt kompanijoj daugiausiai nusimano apie kompiuterastinius internetinius dalykus (beje, kompanija yra labai maža, gal tik kokie 5 darbuotojai). Visa problema tame, kad jis mano jog nusimano labai gerai, nes minimaliai moka naudotis Frontpage (na, „minimaliai“ tai reiškia „moka įterpti nuorodą grafiniame režime“). Skaityti toliau…