Patogus Perlo įpraiškų naudojimas
Tarkim jums reikia, kad pritaikyti įpraišką simbolių eilutei ir rezultatus sudėti į masyvą. Perle tai labai lengva: @masyvas = $eilute =~ m/(kazkas)/g; Šitas kodo gabaliukas veikia, nes =~ turi didesnę reikšmę nei = ir todėl įpraiška yra pritaikoma anksčiau. Jeigu reikia sužinoti tik kiek kartų įpraiška atitiko eilutę galima daryti taip: $kiek_kartu = $eilute =~ m/(kazkas)/g; Viskas labai paprasta: jeigu rezultatą priskiriame masyvui, tai gauname atitikmenų masyvą, jeigu rezultatą priskiriame paprastam Skaityti toliau…
Įdomūs rytiniai virusai
Šiandieną ryte gavau porą labai įdomaus viruso kopijų. Štai kaip atrodo headeriai: From - Tue Sep 16 08:37:52 2003 X-UIDL: Y&5!!dV,!!P*V!!?l^!! X-Mozilla-Status: 0001 X-Mozilla-Status2: 10000000 Return-path: <[email protected]> Envelope-to: [email protected] Received: from [81.7.106.87] (helo=localhost) by www.lietuvoje.lt with smtp (Exim 3.35 #1 (Debian)) id 19z0nf-0003vz-00 for <[email protected]>; Mon, 15 Sep 2003 23:22:23 +0200 From: "Microsoft" <[email protected]> To: <[email protected]> Subject: Use this patch immediately ! MIME-Version: 1.0 Content-Type: multipart/mixed;boundary="xxxx" Message-Id: <[email protected]> Date: Mon, 15 Sep 2003 23:22:23 +0200 X-UIDL: Y&5! Skaityti toliau…
Įdomūs lingvistiniai pastebėjimai
Pastarosiomis dienomis internete sklando šis tekstas: Aoccdrnig to a rscheearch at an Elingsh uinervtisy, it deosn’t mttaer in waht oredr the ltteers in a wrod are, the olny iprmoetnt tihng is taht frist and lsat ltteer is at the rghit pclae. The rset can be a toatl mses and you can sitll raed it wouthit a porbelm. Tihs is bcuseae we do not raed ervey lteter by it slef but the wrod as a wlohe. Skaityti toliau…
Switch galimybės Perle
Kaip žinia, Perlo kalboje nėra switch konstrukcijos. Gal kam ir keista, bet yra keletas (kaip visada Perle yra keletas būdų atlikti tam pačiam daiktui ;) būdų kaip apsieiti be to. Pirmas būdas gana man bjaurokas, nes naudoja goto (nors šiaip tai labai primena įprastą switch: SWITCH:{ # switch($option) $_='CASE_'.$option; eval("goto $_"); $_= 'DEFAULT' if ($@); goto $_; CASE_1: print "Case 1\n"; last SWITCH; CASE_4: print "Case 4:\n"; last SWITCH; CASE_FOUR: print "Case FOUR\n"; last SWITCH; CASE_9: print "Case 9\n"; return "Because I can"; CASE_WHAT: ; CASE_STR: print "Case STRING on $option\n"; last SWITCH; DEFAULT: print qq|Undefined Case "$option"\n|; } Dažniausiai naudojama nuorodų lentelė (dispatch table): Skaityti toliau…
XHTML 1.1
Vakar kaip įprasta skaitinėjausi W3C standartus ir pamaniau, kad gal vertėtų pereiti prie XHTML 1.1 standarto. Didžiausias šio standarto skirtumas nuo ankstesnių versijų yra tas, kad reikia nurodyti Content-type: application/xhtml+xml. Pasirodo jeigu nurodomas senas text/html tipas tai naršyklės interpretuoja kodą kaip įprastą HTML košę, net jei tai ir yra standartus atitinkantis XML. Priversti naršyklę dirbti XML režimu nelengva – būtent tam ir reikia specialaus Content-type. Tiesa, XML parseris yra negailestingas – viena Skaityti toliau…
Graži Perlo programėlė
Kas čia vis sako, kad Perlo programos neįskaitomos dėl to kad pilna visokių @$%&*; ? Pasirodo, kad galima rašyti ir labai švarias ir tvarkingas Pelro programas – Perlmonksuose blockhead parašė vieną geresnių „obfuscated“ programėlių: #!/usr/bin/perl not exp log srand xor s qq qx xor s x x length uc ord and print chr ord for qw q join use sub tied qx xor eval xor print qq q q xor int eval lc q m cos and print chr ord for qw y abs ne open tied hex exp ref y m xor scalar srand print qq q q xor int eval lc qq y sqrt cos and print chr ord for qw x printf each return local x y or print qq s s and eval q s undef or oct xor time xor ref print chr int ord lc foreach qw y hex alarm chdir kill exec return y s gt sin sort split Šito kodo pervarymas per O::Deparse irgi neduoda naudos, netgi kaip tik dar viską supainioja: Skaityti toliau…
CSS tekstų dydžiai
pbg rašant apie šriftų dydžius EnC pamanė jog CSS nurodomi šriftų dydžiai yra blogai, nes juos naudojant neveikia šrifto sumažinimo ar padidinimo galimybės naršyklėse. Tai ne visai tiesa. Štai pavyzdys: <style> p.pixeliais { font-size: 14px; } p.emais { font-size: 1em; } p.procentais { font-size: 100%; } p.taskais { font-size: 14pt; } </style> <p class="pixeliais">Čia nurodyta pikseliais</p> <p class="emais">Čia nurodyta emais</p> <p class="procentais">Čia nurodyta procentais</p> <p class="taskais">Čia nurodyta taškais</p> Mozilla didina šriftus visais šiais atvejais (View->Text<br /> Zoom), tuo tarpu IE pikseliais ir taškais nurodytus šriftų Skaityti toliau…
<FIELDSET>
Bevaikščiodamas kažkurioje svetainėje aptikau įdomų rėmelį aplink tekstą. Iš pradžių pagalvojau kad čia su CSS padaryta (na, tekstui uždėt galima position: relative; top: -20px;, truputį pažaist su z-index ir nustatyt background-color: white su padidintomis paraštėmis), bet pasirodo kad naudojamos <FIELDSET> ir <LEGEND> žymės. Kažkaip nemaniau kad jos priklauso W3C standartams , bet klydau – jos yra HTML4.0 standarto dalis. Kasdien vis ką nors naujo sužinai :)
Kibiras nuorodų (3)
Aš vis dr gyvas. Nors beveik palaidotas po darbais, universitetais, mokslais ir šiaip visokia veikla. Čia jau matau sunerimot, kad merginą būsiu susiradęs ;) Tai va, nė velnio, štai jumi krūva nuorodų: Kompiuterastinės: Mozillos Firebird priedų sąrašas – ganėtinai pilnas ir išsamus. Listamatic – viskas, ką galima padaryti su <li> žyme ir CSS Google švenčia 5-ą gimtadienį – Visų pamėgtas paieškos įrankis. Šiaip smagumynai: Optinės apgaulės jūsų akims – žiūrėti išgėrus Pasimetę Skaityti toliau…
Mozillos raktiniai žodžiai
Vakar kilo man nenumaldomas noras pasidaryti taip, kad Mozilloje būtų galima ieškoti ne tik per Google, bet ir per CPAN, nes labai dažnai tenka ten eiti ir įvedinėti paieškos žodžius rankomis. Sprendimą radau, ir jis labai paprastas ir puikus. Einam į Bookmarks->Manage<br /> Bookmarks, darom New Bookmark, į Name įrašom CPAN, o į Location – http://search.cpan.org/search?query=%s&mode=all. Spaudžiam OK, dabar susirandam kur atsirado tas mūsų naujai sukurtas bookmarkas, spaudžiam ant jo dešiniu pelės klavišu, Skaityti toliau…