abclinuxu.cz AbcLinuxu.cz itbiz.cz ITBiz.cz HDmag.cz HDmag.cz abcprace.cz AbcPráce.cz
Inzerujte na AbcPráce.cz od 950 Kč
Rozšířené hledání
×
    dnes 12:44 | Pozvánky

    V sobotu 1. června lze navštívit Maker Faire Ostrava, festival plný workshopů, interaktivních činností a především nadšených a zvídavých lidí.

    Ladislav Hagara | Komentářů: 0
    dnes 12:22 | Nová verze

    Webový server Caddy (Wikipedie) s celou řadou zajímavých vlastností byl vydán ve verzi 2.8 (𝕏). Přehled novinek na GitHubu.

    Ladislav Hagara | Komentářů: 0
    včera 22:11 | Nová verze

    Byla vydána verze 3.0 (@, 𝕏) svobodného softwaru HAProxy (The Reliable, High Performance TCP/HTTP Load Balancer; Wikipedie) řešícího vysokou dostupnost, vyvažování zátěže a reverzní proxy. Detailní přehled novinek v příspěvku na blogu společnosti HAProxy Technologies.

    Ladislav Hagara | Komentářů: 3
    včera 21:11 | IT novinky

    Společnost Framework Computer představila novou vylepšenou verzi svého modulárního notebooku Framework Laptop 13 s Intel Core Ultra Series 1, displej s lepším rozlišením a novou webovou kameru. Přímo do Česka jej zatím koupit nelze.

    Ladislav Hagara | Komentářů: 0
    včera 15:44 | Nová verze

    Byla vydána nová verze 2.16 svobodného video editoru Flowblade (GitHub, Wikipedie). Přehled novinek v poznámkách k vydání. Videoukázky funkcí Flowblade na Vimeu. Instalovat lze také z Flathubu.

    Ladislav Hagara | Komentářů: 2
    28.5. 21:22 | Zajímavý software

    TerminalTextEffects (TTE) je engine pro vizuální efekty v terminálu. Zdrojové kódy jsou k dispozici na GitHubu pod licencí MIT.

    Ladislav Hagara | Komentářů: 40
    28.5. 17:11 | Pozvánky

    Od čtvrtka 30. 5. do soboty 1. 6. lze v Praze navštívit Veletrh vědy, tj. největší populárně naučnou akci v České republice, kterou každoročně od roku 2015 pořádá Akademie věd ČR. Vstup zdarma.

    Ladislav Hagara | Komentářů: 13
    28.5. 14:11 | Komunita

    Canonical představil Ubuntu optimalizované pro jednodeskový počítač s RISC-V procesorem Milk-V Mars.

    Ladislav Hagara | Komentářů: 0
    27.5. 21:22 | Nová verze

    Armbian, tj. linuxová distribuce založená na Debianu a Ubuntu optimalizovaná pro jednodeskové počítače na platformě ARM a RISC-V, ke stažení ale také pro Intel a AMD, byl vydán ve verzi 24.5.1 Havier. Přehled novinek v Changelogu.

    Ladislav Hagara | Komentářů: 0
    27.5. 19:44 | IT novinky

    Společnost xAI založena Elonem Muskem a stojící za AI LLM modelem Grok získala investici 6 miliard dolarů.

    Ladislav Hagara | Komentářů: 1
    Podle hypotézy Mrtvý Internet mj. tvoří většinu online interakcí boti.
     (89%)
     (3%)
     (4%)
     (4%)
    Celkem 999 hlasů
     Komentářů: 16, poslední 14.5. 11:05
    Rozcestník
    Štítky: není přiřazen žádný štítek


    Vložit další komentář
    robotics avatar 17.9.2011 20:36 robotics | skóre: 29 | blog: o_vsem_moznem
    Rozbalit Rozbalit vše Re: Perl pro zelenáče
    No docela masakr. Nejsem žádnej programátor, takže tohle vůbec nechápu. Ale chci začít s Pythonem. Ten by měl být jednodušší.
    Bystroushaak avatar 18.9.2011 18:12 Bystroushaak | skóre: 36 | blog: Bystroushaakův blog | Praha
    Rozbalit Rozbalit vše Re: Perl pro zelenáče
    Python je super, můžu ti ho jen doporučit. Navíc má v čechách dobrou komunitu, kolem stránek py.cz, která mi nejednou pomohla.
    17.9.2011 22:02 kyytaM | skóre: 35 | blog: kyytaM | Bratislava
    Rozbalit Rozbalit vše Re: Perl pro zelenáče
    do premennej out sa vlozi obsah premennej str, ale funckiou substr odseknuty od indexu 0 (prvy znak) o 1 znak. Cize z retazca "abc" vysekne prvy znak - do out sa priradi "a" ("bc" sa zahodi).
    Petr Maleček avatar 19.9.2011 21:17 Petr Maleček | skóre: 28 | Plzeň - Bolevec
    Rozbalit Rozbalit vše Re: Perl pro zelenáče
    Přesně, je to stejné jako třeba v PHP :-)
    LinMuck, WinFuck :-P
    17.9.2011 23:51 manasekp | skóre: 29 | blog: manasekp | Brno
    Rozbalit Rozbalit vše Re: Perl pro zelenáče
    k cemu tam je ten ctvrty parametr "" ?
    BIOKOMP | Cas od casu se pokousim nekoho srazit k zemi abych se tam nevalel sam.
    18.9.2011 00:13 kyytaM | skóre: 35 | blog: kyytaM | Bratislava
    Rozbalit Rozbalit vše Re: Perl pro zelenáče
    substr EXPR,OFFSET,LENGTH,REPLACEMENT substr EXPR,OFFSET,LENGTH substr EXPR,OFFSET

    Takze pri takomto pouziti ("") je tam zbytocny. Keby tam bolo "b", tak vysledok v out je "b".
    MMMMMMMMM avatar 18.9.2011 07:09 MMMMMMMMM | skóre: 44 | blog: unstable | Valašsko :-)
    Rozbalit Rozbalit vše Re: Perl pro zelenáče
    Obávám se, že to funguje poněkud jinak. Bude-li tam prázdná závorka, proměnná $str bude zkrácena o první znak (pozice 0, délka 1). Bude-li tam cokoliv jiného, bude tímto první znak v proměnné $str nahrazen. V $out bude vždy "a". A to je to, co mi prostě nedávalo smysl. :)
    MMMMMMMMM avatar 18.9.2011 09:19 MMMMMMMMM | skóre: 44 | blog: unstable | Valašsko :-)
    Rozbalit Rozbalit vše Re: Perl pro zelenáče
    místo prázdná závorka mělo být prázdné uvozovky
    18.9.2011 10:28 manasekp | skóre: 29 | blog: manasekp | Brno
    Rozbalit Rozbalit vše Re: Perl pro zelenáče
    to je nejake divne, pripada me ze u takove funkce replacement neni potreba
    BIOKOMP | Cas od casu se pokousim nekoho srazit k zemi abych se tam nevalel sam.
    18.9.2011 10:48 Filip Jirsák | skóre: 68 | blog: Fa & Bi
    Rozbalit Rozbalit vše Re: Perl pro zelenáče
    replacement je volitelný čtvrtý parametr. Někdy potřebujete získat část řetězce podle indexů, někdy část řetězce podle indexů potřebujete nahradit – a Perl má funkci, která to podle způsobu použití umí obojí, případně i najednou. Řekl bych, že je to takové typicky perlovské řešení.
    Nemelo by to pak vratit "bc"? Podretezec 0..1 by se nahradil prazdnym retezcem.
    Nothing sucks more than the moment during an argument, when you realize that you are wrong.
    18.9.2011 12:24 Filip Jirsák | skóre: 68 | blog: Fa & Bi
    Rozbalit Rozbalit vše Re: Perl pro zelenáče
    Ne. substr vrací podřetězec určený indexem a délkou (2. a 3. parametr). Čtvrtý parametr nijak neovlivňuje vracenou hodnotu, ale původní řetězec předaný jako 1. parametr.

    V pseudokódu využívajícím trojparametrický substr() to dělá zhruba tohle:
    $result = substr($string, $offset, $length);
    $string = substr($string, 0, $offset) + $replacement + substr($string, $length+$offset, strlen($string)-$length-1);
    return $result
    
    Přičemž $string není zkopírovaná hodnota, ale je to pořád ten „původní“, tj. funkce změní jeho hodnotu i z pohledu kódu, který funkci vyvolal.
    Aha, uz chapu :)
    Nothing sucks more than the moment during an argument, when you realize that you are wrong.
    mirec avatar 18.9.2011 09:06 mirec | skóre: 32 | blog: mirecove_dristy | Poprad
    Rozbalit Rozbalit vše Re: Perl pro zelenáče
    Asi začínam chápať prečo niektorí tvrdia o perl-e, že je write-only. Aj tak sa ho pokúsim naučiť.
    LinuxOS.sk | USE="-fotak -zbytocnosti -farebne_lcd +vydrz +odolnost +java" emerge telefon
    18.9.2011 10:52 CEST
    Rozbalit Rozbalit vše Re: Perl pro zelenáče
    U svatyho Linuse! To jsem vsichni takovy lamy? Sakra, Linuxovej system ma snad na kazdej prd man stranky, perl ma dokonce tech stranek nekolik, podle kategorie:
       Overview
               perl                Perl overview (this section)
               perlintro           Perl introduction for beginners
               perltoc             Perl documentation table of contents
    
       Tutorials
               perlreftut          Perl references short introduction
               perldsc             Perl data structures intro
               perllol             Perl data structures: arrays of arrays
    
               perlrequick         Perl regular expressions quick start
               perlretut           Perl regular expressions tutorial
    
               perlboot            Perl OO tutorial for beginners
               perltoot            Perl OO tutorial, part 1
               perltooc            Perl OO tutorial, part 2
               perlbot             Perl OO tricks and examples
    
               perlperf            Perl Performance and Optimization Techniques
    
               perlstyle           Perl style guide
    
               perlcheat           Perl cheat sheet
               perltrap            Perl traps for the unwary
               perldebtut          Perl debugging tutorial
    
               perlfaq             Perl frequently asked questions
                 perlfaq1          General Questions About Perl
                 perlfaq2          Obtaining and Learning about Perl
                 perlfaq3          Programming Tools
                 perlfaq4          Data Manipulation
                 perlfaq5          Files and Formats
                 perlfaq6          Regexes
                 perlfaq7          Perl Language Issues
                 perlfaq8          System Interaction
    
    
       Reference Manual
               perlsyn             Perl syntax
               perldata            Perl data structures
               perlop              Perl operators and precedence
               perlsub             Perl subroutines
               perlfunc            Perl built-in functions
                 perlopentut       Perl open() tutorial
                 perlpacktut       Perl pack() and unpack() tutorial
               perlpod             Perl plain old documentation
               perlpodspec         Perl plain old documentation format specification
               perlrun             Perl execution and options
               perldiag            Perl diagnostic messages
               perllexwarn         Perl warnings and their control
               perldebug           Perl debugging
               perlvar             Perl predefined variables
               perlre              Perl regular expressions, the rest of the story
               perlrebackslash     Perl regular expression backslash sequences
               perlrecharclass     Perl regular expression character classes
               perlreref           Perl regular expressions quick reference
               perlref             Perl references, the rest of the story
               perlform            Perl formats
               perlobj             Perl objects
               perltie             Perl objects hidden behind simple variables
                 perldbmfilter     Perl DBM filters
    
    To je opravdu tak tezky zadat man perlfunc a najit si, co presne substr dela???

    Jednak, perl substr lze pouzit i jako lvalue, cili substr($var,X,Y) = "neco";. A kdyz si popis substr poradne prectete, tak zjistite, ze:
    An alternative to using substr() as an lvalue is to specify the replacement string as the 4th argument. This allows you to replace parts of the EXPR and return what was there before in one operation, just as you can with splice().
    Pokud neovladate EN, urcite se daji tyhle man stranky najit i v CZ.

    Pokud nechapete vyznam, nezacinejte programovat a jdete delat neco jineho.
    18.9.2011 11:00 Filip Jirsák | skóre: 68 | blog: Fa & Bi
    Rozbalit Rozbalit vše Re: Perl pro zelenáče
    Od člověka, který si nevšiml, že význam byl správně v diskusi popsán už skoro před 4 hodinami, ty invektivy v příspěvku opravdu sedí.
    18.9.2011 13:28 CEST
    Rozbalit Rozbalit vše Re: Perl pro zelenáče
    1) blog zapis je ze 17.9. 20:28

    2) blog zapis vytvoril MMMMMMMMM

    takze

    A) relativne uspokojive vysvetleni zjistil a zapsal MMMMMMMMM az v 7:09, cili 10:41 hodiny po zapsani zapisku, to je docela dlouho na man perlfunc, spravne vysvetleni jsi napsal az ty v 10:48, jenze to uz jsem mel zrejme rozepsanou svoji odpoved a pouze jsem ji az v 10:52 odeslal

    B) to jeho vysvetleni mi pripada spis jako hadani, pricemz v manu je to presne definovany

    C) kdyz uz teda zjistil, jak to presne funguje, mel by to zapsat do blog zapisku. Upravit zapisek jde, takze nic mu nebrani v tom, aby tam napsal "Update - uz jsem pochopil, co to dela, diky za vysvetleni / za odkaz v manu". To tam ale neni. Samozrejme, nekdo muze mit chut prochazet reakce typu
    k cemu tam je ten ctvrty parametr
    nebo
    Takze pri takomto pouziti ("") je tam zbytocny
    nebo
    to je nejake divne, pripada me ze u takove funkce replacement neni potreba
    .

    Hledat v diskuzi spravnou odpoved by mel autor zapisku a pak opravit blog, aby to kazdy dalsi ctenar videl hned. Je blbost, aby kazdy ctenar pak prochazel diskuzi a hledal, jestli uz tam nekdo spravne reseni nenapsal. A kdyz jsem videl ty "vestecke" reakce (viz vyse), tak jsem nemel chut se tim dal hrabat, kdyz odpoved je primo v manu.

    Misto tehle zbytecnych uvah si kolegove diskutujici a autor mohli behem 5 minut v manu najit, proc je tam ctvrty parametr a co presne dela.

    Podobne nesnasim blogy stylu
    Zjistil jsem, ze tohle nefunguje, dokud nezapnu tamten prepinac. Nevim proc, ale proste to tak je.
    A pak nakonec dotycny zjisti, ze mel proste neco v systemu spatne a proto to nefungovalo a ten jiny prepinac byla jen souhra nahod.

    Bohuzel, driv na Linuxu byli pouze odbornici, kteri se zajimalo, jak ta vec funguje. Dneska se do toho stoura kazdy, ale navody ctou jen nekteri.
    pavlix avatar 18.9.2011 22:37 pavlix | skóre: 54 | blog: pavlix
    Rozbalit Rozbalit vše Re: Perl pro zelenáče
    Nehledě na to, že mohl použít poradnu, kde se řešení dají označit.
    Já už tu vlastně ani nejsem. Abclinuxu umřelo.
    Ruža Becelin avatar 19.9.2011 13:48 Ruža Becelin | skóre: 40 | blog: RuzaBecelinBlog
    Rozbalit Rozbalit vše Re: Perl pro zelenáče
    Co teda nechapu, proc je tenkhle blog oznaceny tucnakem (Kvalitni zapisek) :-(
    18.9.2011 11:35 CiV | skóre: 3
    Rozbalit Rozbalit vše Re: Perl pro zelenáče
    Reseni tady uz sice padlo, ale mohlo by se ti hodit
    perldoc -f substr
    18.9.2011 11:44 happy barney | skóre: 34 | blog: dont_worry_be_happy
    Rozbalit Rozbalit vše Re: Perl pro zelenáče
    pozri sa na to ako na ekvivalent ++ operátora.
    $a = 0; $b = ++$a; say "$a - $b"; # 1 - 1
    $a = 0; $b = $a++; say "$a - $b"; # 1 - 0
    
    $a = "abc"; $b = substr ($a, 0, 1) = "X"; say "$a - $b"; # Xbc - X
    $a = "abc"; $b = substr ($a, 0, 1, "X"); say "$a - $b"; # Xbc - a
    
    MMMMMMMMM avatar 18.9.2011 17:38 MMMMMMMMM | skóre: 44 | blog: unstable | Valašsko :-)
    Rozbalit Rozbalit vše Re: Perl pro zelenáče
    Děkuji všem za komentáře. :-) V manuálu je to skutečně dobře (anglicky) podáno, budu rozhodně používat. Hledal jsem předtím i na webu, ale bohužel jsem narazil na ne příliš dobré stránky, které se funkcí substr() se 4 parametry příliš nezabývaly a vysvětlení chybělo, z toho plynula má frustrace. Teď je tedy chování funkce substr() v PERLu jasné. Uvidíme, na co zajímavého ještě v knize narazím.
    19.9.2011 08:32 Xerces
    Rozbalit Rozbalit vše Re: Perl pro zelenáče
    To je zlozvyk z Windows (kde jsou helpy jen aby se neřeklo), kterým trpím občas taky. Hledat nejdřív něco na netu než v oficiální nápovědě perlu a man :-)
    19.9.2011 10:44 CEST
    Rozbalit Rozbalit vše Re: Perl pro zelenáče
    Presne tak. Vetsina Linux/GNU veci je dost dobre dokumentovanych, pokud je prece jenom nejasnost, da se jit i do zdrojaku. Perl je dost dobre dokumentovany, at uz jako man nebo jako perldoc.
    pavlix avatar 19.9.2011 15:35 pavlix | skóre: 54 | blog: pavlix
    Rozbalit Rozbalit vše Re: Perl pro zelenáče
    Já nemám problém hledat věci na netu, což je nadmnožina manuálových stránek.
    Já už tu vlastně ani nejsem. Abclinuxu umřelo.
    19.9.2011 19:52 luky
    Rozbalit Rozbalit vše Re: Perl pro zelenáče
    Misto hledani jehly v kupce sena radeji prohledate cely stoh?
    pavlix avatar 19.9.2011 22:23 pavlix | skóre: 54 | blog: pavlix
    Rozbalit Rozbalit vše Re: Perl pro zelenáče
    Misto hledani jehly v kupce sena radeji prohledate cely stoh?
    Já při práci místo nesmyslných příměrů používám hlavu :).
    Já už tu vlastně ani nejsem. Abclinuxu umřelo.
    Bystroushaak avatar 18.9.2011 18:16 Bystroushaak | skóre: 36 | blog: Bystroushaakův blog | Praha
    Rozbalit Rozbalit vše Re: Perl pro zelenáče
    Tuhle knihu jsem si před půl rokem koupil taky (v antikvariátu za asi 20kč, no neber to), ale zatím jsem se k ní nedostal, hlavně proto že jsem pythonýr.

    Perl jsem potřeboval naposledy když jsem z nějakého serveru v číně vytáhl portscanner v perlu, jehož kódu jsem nerozuměl, jinak mi přijde v podstatě nepoužívaný (i v linuxu už tak moc toolů v perlu není).
    18.9.2011 19:30 CEST
    Rozbalit Rozbalit vše Re: Perl pro zelenáče
    No, zkus si odinstalovat perl u uvidis, kolik balicku se ti s tim odinstaluje, protoze bude perl zavislost. Mozna ti to ani nepujde, protoze perl bude systemova zavislost. Nebo zkus /usr/bin/perl a knihovny prejmenovat a pak zkus pracovat a uvidis, co vsechno nepojede:)

    Trosku podobne jako s pythonem u gentoo:)

    Jinak, perl mi prijde lepsi - zkus si v pythonu udelat perl -aF'/\s+/' -ne '$s{$F[0]}++;END{foreach $ip (keys(%s)) {print "$f $s{$f}\n";}' /var/log/apache/access.log. Moc dobre to nejde, vid?
    Bystroushaak avatar 18.9.2011 20:42 Bystroushaak | skóre: 36 | blog: Bystroushaakův blog | Praha
    Rozbalit Rozbalit vše Re: Perl pro zelenáče
    Popiš mi to slovně a já ti takový script napíšu, tohle nemám šanci jako ne-perlista dekódovat.
    19.9.2011 09:44 happy barney | skóre: 34 | blog: dont_worry_be_happy
    Rozbalit Rozbalit vše Re: Perl pro zelenáče
    konkretne tento priklad oznami syntakticku chybu :-)
    (odhadovany) popis umyslu: vypis kluca a unikatnych riadkov zo vstupneho suboru, kluc je od zaciatku riadku po prvy \s znak. Priblizne ako:
    cut -d' ' -f1 /var/log/access.log | uniq -c
    
    19.9.2011 10:48 CEST
    Rozbalit Rozbalit vše Re: Perl pro zelenáče
    Ano, presne, neco takoveho, akorat

    1) nepotrebuje to pres pipe posilat spoustu radku

    2) jako oddelovac to bere jakykoliv pocet (1 a vice) jakychkoliv whitespace znaku (mezera nebo tab)

    Jinak, chtel jsem ten perl videt prepsanej v pythonu:)
    19.9.2011 12:20 happy barney | skóre: 34 | blog: dont_worry_be_happy
    Rozbalit Rozbalit vše Re: Perl pro zelenáče
    ad 1: pipe je v pamati (nevravim o windos), subor musis precitat cely tak ci tak, na multicore systemoch navyse rozdelis este aj tento oneliner na dve operacie ... :-)

    ad 2: pracujes len s prvym prvkom pola, t.j. je ti jedno, co je oddelovac, uz prvy whitespace ukonci vyhladavanie. Tvoj priklad teda navyse obsahuje aj nepotrebny kod :-)

    Nemozes od pythonistu ocakavat, ze porozumie perlu. treba mu to vysvetlit (napr ekvivalentom v shelli). V opacnom pripade si mohol pouzit nieco taketo :-)
    perl -F'/\s/' -apple '$s{$F[0]}++}for(keys%s){$_.=" $s{$_}"'
    
    Bystroushaak avatar 19.9.2011 17:32 Bystroushaak | skóre: 36 | blog: Bystroushaakův blog | Praha
    Rozbalit Rozbalit vše Re: Perl pro zelenáče
    Jinak, chtel jsem ten perl videt prepsanej v pythonu:)
    Nejsem si jistej jestli jsem dostatečně dobře pochopil co to dělá, ale:

    python -c "print '\n'.join(set(map(lambda x: x.split()[0], open('/var/log/apache/access.log').readlines())))"

    Log apache zrovna nemám po ruce, takže jsem to zkoušel na testovacím souboru..
    Bystroushaak avatar 19.9.2011 18:02 Bystroushaak | skóre: 36 | blog: Bystroushaakův blog | Praha
    Rozbalit Rozbalit vše Re: Perl pro zelenáče
    Jinak teď jsem si všiml že jsi chtěl nejspíš i počet výskytů.

    python -c "d = map(lambda x: x.split()[0], open('/var/log/apache/access.log').readlines()); print '\n'.join([str(y) + ' ' + x for x, y in dict([[x, d.count(x)] for x in d]).items()])"

    Je to už ale hnusně nepřehledné, napsal bych si na to radši klasický script nebo použil << EOF.
    pavlix avatar 19.9.2011 22:32 pavlix | skóre: 54 | blog: pavlix
    Rozbalit Rozbalit vše Re: Perl pro zelenáče
    Dost možná bys došel úplně k jinému postupu a to, že bys to celé dělal v interaktivním pythonu, kde bysis seznam řádků postupně upravoval a vytáhl z něj naprosto libovolné výstupy.

    Nedávno jsem se pustil do perlu a docela hodně se mi líbí, co se tam dá velmi stručným kódem udělat. Ale kdybych měl zpracovávat z ničeho nic větší množství dat, tak na 99% sáhnu po pythonu, protože data můžu zpracovávat interaktivně a bez ohledu na původ/formát, a stejně interaktivně je i převádět.

    Ona i taková hloupá úloha jako dostat data z jabber rosteru do třeba XML adresáře nějakého programu, je mnohem jednodušeji řešitelná interaktivně než postupným vylepšováním skriptu (nehledě na to, že po interaktivní zkušenosti člověk už ten skript celkem hbitě napíše).
    Já už tu vlastně ani nejsem. Abclinuxu umřelo.
    Bystroushaak avatar 19.9.2011 22:58 Bystroushaak | skóre: 36 | blog: Bystroushaakův blog | Praha
    Rozbalit Rozbalit vše Re: Perl pro zelenáče
    Dost možná bys došel úplně k jinému postupu a to, že bys to celé dělal v interaktivním pythonu, kde bysis seznam řádků postupně upravoval a vytáhl z něj naprosto libovolné výstupy.
    Tenhle postup jsem musel pracně vymýšlet, protože chtěl vidět ekvivalent svého perlového příkazu. Kdybych to dělal v interaktivním režimu, vypadalo by úplně, ale úplně jinak.
    pavlix avatar 19.9.2011 23:10 pavlix | skóre: 54 | blog: pavlix
    Rozbalit Rozbalit vše Re: Perl pro zelenáče
    Tenhle postup jsem musel pracně vymýšlet, protože chtěl vidět ekvivalent svého perlového příkazu. Kdybych to dělal v interaktivním režimu, vypadalo by úplně, ale úplně jinak.
    Jasně, tak jsem to myslel. Jen jsem nevěděl, jestli s tím máš už nějaké zkušenosti.
    Já už tu vlastně ani nejsem. Abclinuxu umřelo.
    20.9.2011 11:15 Michal Vyskočil | skóre: 60 | blog: miblog | Praha
    Rozbalit Rozbalit vše Re: Perl pro zelenáče
    Nebo třeba takto - až na nezbytné importy je toto jediným výrazem a taky to zpracovává první argument, stejně jako příklad vyše. Je to drobet složitější, než by musel být, protože výsledek ještě seřadí.

    python -c 'import sys, itertools; print "\n".join(("%s %s" % (k, c) for k, c in sorted(((len(list(g)), k) for k, g in itertools.groupby(sorted(l.split()[0] for l in open(sys.argv[1], "r")))), reverse=True)))' access.log

    Zde je ještě indentovaná verze.
    import sys, itertools
    
    print "\n".join(
      ("%s %s" % (k, c) for k, c in
        sorted(
            ( (len(list(g)), k) for k, g in
               itertools.groupby(
                 sorted(l.split()[0] for l in open(sys.argv[1], "r")))), reverse=True)))
    
    When your hammer is C++, everything begins to look like a thumb.
    19.9.2011 18:12 zxtlpn | skóre: 8 | blog: zxtlpn
    Rozbalit Rozbalit vše Re: Perl pro zelenáče
    awk '$1 != prev {print $1; prev = $1;}' /var/log/access.log
    
    Bystroushaak avatar 18.9.2011 20:49 Bystroushaak | skóre: 36 | blog: Bystroushaakův blog | Praha
    Rozbalit Rozbalit vše Re: Perl pro zelenáče
    No, zkus si odinstalovat perl u uvidis, kolik balicku se ti s tim odinstaluje, protoze bude perl zavislost. Mozna ti to ani nepujde, protoze perl bude systemova zavislost.
    Tak jsem to zkusil a dost by to bolelo :D 570 balíků by to vzalo s sebou a dalším ~200 by se nelíbyla nevyřešená závislost :S
    pavlix avatar 18.9.2011 22:38 pavlix | skóre: 54 | blog: pavlix
    Rozbalit Rozbalit vše Re: Perl pro zelenáče
    U Pythonu je to dneska stejné (nejen v Gentoo)
    Já už tu vlastně ani nejsem. Abclinuxu umřelo.
    pavlix avatar 18.9.2011 22:58 pavlix | skóre: 54 | blog: pavlix
    Rozbalit Rozbalit vše Re: Perl pro zelenáče
    Jinak, perl mi prijde lepsi - zkus si v pythonu udelat perl -aF'/\s+/' -ne '$s{$F[0]}++;END{foreach $ip (keys(%s)) {print "$f $s{$f}\n";}' /var/log/apache/access.log. Moc dobre to nejde, vid?
    Erm… na tohle svůj názor psát radši nebudu :D.

    P.S.: Používám perl, awk i python.
    Já už tu vlastně ani nejsem. Abclinuxu umřelo.
    19.9.2011 08:13 kolcon
    Rozbalit Rozbalit vše Re: Perl pro zelenáče
    jakozto perlista bych za takovyto kod strilel
    Ruža Becelin avatar 19.9.2011 08:26 Ruža Becelin | skóre: 40 | blog: RuzaBecelinBlog
    Rozbalit Rozbalit vše Re: Perl pro zelenáče
    Moc dobre to nejde, vid?

    Aspon to napis bez chyb ;-)
    19.9.2011 10:51 CEST
    Rozbalit Rozbalit vše Re: Perl pro zelenáče
    He, tak jeste jednou - prosim o zapis nejakyho python skriptu/filtru do jedne radky, tak aby to delalo neco vic, nez pouze "print". To jsem mel na mysli - v perlu muzu napsat na jeden radek nejaky filtrovaci skript. V pythonu (diky blokum z whitespace) MUSIM psat vice radku.
    pavlix avatar 19.9.2011 15:39 pavlix | skóre: 54 | blog: pavlix
    Rozbalit Rozbalit vše Re: Perl pro zelenáče
    Jasně... a zkus perl používat interaktivně.

    Kdybych byl blb, tak bych na základě interkativity pythonu prohlásil, že python je (za všech okolností) jednoznačně lepší než perl, protože v perlu to moc nejde.

    Ono je někdy lepší nezamýšlet se jen nad tím, kdo je perlista a kdo pythonista, jako spíš kdo umí nástroje posoudit a použít podle účelu a kdo umí napsat do diskuze, že jedna věc je vždy lepší než druhá.
    Já už tu vlastně ani nejsem. Abclinuxu umřelo.
    Ruža Becelin avatar 19.9.2011 15:43 Ruža Becelin | skóre: 40 | blog: RuzaBecelinBlog
    Rozbalit Rozbalit vše Re: Perl pro zelenáče
    Jaky je problem s interaktivnim perlem?
    pavlix avatar 19.9.2011 15:45 pavlix | skóre: 54 | blog: pavlix
    Rozbalit Rozbalit vše Re: Perl pro zelenáče
    Ukaž mi jak se dá používat perl podobně jako interaktivní mód pythonu :). Sám chceš po jiných ukázky, a ty nic?
    Já už tu vlastně ani nejsem. Abclinuxu umřelo.
    Ruža Becelin avatar 19.9.2011 15:55 Ruža Becelin | skóre: 40 | blog: RuzaBecelinBlog
    Rozbalit Rozbalit vše Re: Perl pro zelenáče
    No, ze ses to ty ;-)
    while ( $uinp = <> )    {
            $tinp = chomp($uinp);
            exit 1 if ( $uinp eq "quit" );
    
            eval($uinp);
    }
    
    pavlix avatar 19.9.2011 16:37 pavlix | skóre: 54 | blog: pavlix
    Rozbalit Rozbalit vše Re: Perl pro zelenáče
    ROFL, předčil jsi má očekávání...
    [pavlix@traveller ~]$ python3
    Python 3.2 (r32:88445, Feb 21 2011, 21:11:06) 
    [GCC 4.6.0 20110212 (Red Hat 4.6.0-0.7)] on linux2
    Type "help", "copyright", "credits" or "license" for more information.
    >>> 3 + 4
    7
    >>> from fractions import Fraction
    >>> Fraction(3) / Fraction(4)
    Fraction(3, 4)
    >>> _ + Fraction(1, 2)
    Fraction(5, 4)
    >>> quit
    Use quit() or Ctrl-D (i.e. EOF) to exit
    >>> quit()
    [pavlix@traveller ~]$ 
    
    To jen abys věděl, o co se jedná. Další flame na toto téma je zbytečný.
    Já už tu vlastně ani nejsem. Abclinuxu umřelo.
    Ruža Becelin avatar 19.9.2011 16:55 Ruža Becelin | skóre: 40 | blog: RuzaBecelinBlog
    Rozbalit Rozbalit vše Re: Perl pro zelenáče
    Hele clovece, jak ty muzes vest kurzy, tobe teda asertivita nic nerika :-)

    Ja VIM, jak funguje interaktivni shell v Python, v Perl holt nemas holt interaktivni shell primo, ale pomuzes si evalem. Nepredpokladam, zes ten eval vubec zkousel, jinak bys vedel, ze tam muzes delat to same, cos predvedl s Pythonem, nacitat moduly, psat subrutiny....

    Jestli hledas kamose na flejm, tak si vybral spatne ;-)
    pavlix avatar 19.9.2011 17:26 pavlix | skóre: 54 | blog: pavlix
    Rozbalit Rozbalit vše Re: Perl pro zelenáče
    Hele clovece, jak ty muzes vest kurzy, tobe teda asertivita nic nerika :-)
    Až mi budeš platit, budu se k tobě chovat pozitivně i když budeš mlít kraviny :). Za daných okolností mi připadají moje reakce dostatečně asertivní.

    Btw, jdu změnit patičku, aby tě tam neprovokoval ten Python :). Chápu, že tě to může rušit :).
    Ja VIM, jak funguje interaktivni shell v Python, v Perl holt nemas holt interaktivni shell primo, ale pomuzes si evalem. Nepredpokladam, zes ten eval vubec zkousel, jinak bys vedel, ze tam muzes delat to same, cos predvedl s Pythonem, nacitat moduly, psat subrutiny....
    „To samé“ to je asi tak jako když řekneš, že v assembleru jde dělat to samé jako v perlu. Technicky budeš mít samozřejmě pravdu v obou případech, ale použitelnost je značně odlišná.
    Jestli hledas kamose na flejm, tak si vybral spatne ;-)
    To sis vybral špatně ;-).
    Já už tu vlastně ani nejsem. Abclinuxu umřelo.
    Ruža Becelin avatar 19.9.2011 19:11 Ruža Becelin | skóre: 40 | blog: RuzaBecelinBlog
    Rozbalit Rozbalit vše Re: Perl pro zelenáče
    Až mi budeš platit, budu se k tobě chovat pozitivně i když budeš mlít kraviny :)

    Takze kdyz ti nekdo plati, tam mu lezes do pr...? :-D Jinak ale musim nabidku odmitnout - ne ze bych mel nejake vyhrady vuci tvym znalostem, ale mit v tymu nekoho, kdo takhle seka zobakem, to radsi ne... :-P

    Btw, jdu změnit patičku, aby tě tam neprovokoval ten Python :). Chápu, že tě to může rušit :).

    Z ceho tak usuzujes? Ja proti Pythonu celkem nic nemam, sice mi nesedi, ale respektuji, pokud se ho nekdo rozhodne pouzivat...

    To sis vybral špatně ;-).

    Hele, ty mas problem poznat odlehcenejsi ton diskuze? trochu mi prijde, ze beres vsechno strasne vazne, za kazdou vetou hledas narazku ci osobni utok... Ber to trochu s nadsazkou, ne kazdy, kdo prijde do diskuze, se chce hadat... I kdyz co tak v posledni dobe sleduju, tak se prevazna cast diskuzi zvrhne v hadku o nejakou blbost :(
    pavlix avatar 19.9.2011 22:40 pavlix | skóre: 54 | blog: pavlix
    Rozbalit Rozbalit vše Re: Perl pro zelenáče
    Takze kdyz ti nekdo plati, tam mu lezes do pr...? :-D
    Mezi lezením do prdele a korektním jednáním s blbcem je určitý rozdíl... ale musím říct, že ve své pracovní praxi s blbcem spolupracuju velmi zřídkakdy. Většinou se z toho dá nějak vyvlíknout nebo včas odmítnout.
    Jinak ale musim nabidku odmitnout - ne ze bych mel nejake vyhrady vuci tvym znalostem, ale mit v tymu nekoho, kdo takhle seka zobakem, to radsi ne... :-P
    Pokud jsi to pochopil jako nabídku, měl bys uvažovat o lepším parseru na sarkasmus či alespoň nadsázku :). Jinak mám drobné podezření, že v tvém týmu z principu bude minimálně jeden člověk, který bude mít nutkání vytvářet v týmu problém. Osobně bych se toho dost nerad účastnil :).
    Hele, ty mas problem poznat odlehcenejsi ton diskuze?
    Myslel jsem, že ho máš ty :).
    Já už tu vlastně ani nejsem. Abclinuxu umřelo.
    Ruža Becelin avatar 19.9.2011 23:21 Ruža Becelin | skóre: 40 | blog: RuzaBecelinBlog
    Rozbalit Rozbalit vše Re: Perl pro zelenáče
    Ja nemam problem poznat odlehcenejsi ton. Ale ty by ses mel zamyslet na tim, ze neustale reagovat kousavymi komentari, urazkami a napadanim ti dobrou povest nezajisti. Jak jsem si vsiml v jinych dizkuzich, neni tohle zdaleka vyjimka...
    pavlix avatar 19.9.2011 23:48 pavlix | skóre: 54 | blog: pavlix
    Rozbalit Rozbalit vše Re: Perl pro zelenáče
    Ja nemam problem poznat odlehcenejsi ton. Ale ty by ses mel zamyslet na tim, ze neustale reagovat kousavymi komentari, urazkami a napadanim ti dobrou povest nezajisti. Jak jsem si vsiml v jinych dizkuzich, neni tohle zdaleka vyjimka...

    Nápodobně.
    Já už tu vlastně ani nejsem. Abclinuxu umřelo.
    19.9.2011 19:58 luky
    Rozbalit Rozbalit vše Re: Perl pro zelenáče
    Bud si nainstalujte shell z CPANu, nebo pouzijte dubugger: perl -debile_cti_man ]:-)>
    pavlix avatar 19.9.2011 22:42 pavlix | skóre: 54 | blog: pavlix
    Rozbalit Rozbalit vše Re: Perl pro zelenáče
    Mě přišlo, že píšu docela srozumitelně.
    Já už tu vlastně ani nejsem. Abclinuxu umřelo.
    20.9.2011 13:54 luky
    Rozbalit Rozbalit vše Re: Perl pro zelenáče
    Mě přišlo, že píšu docela srozumitelně.
    Prave ze vubec, co se vam v debugeru nelibilo?
    luky@ntb:~$ perl -debile_cti_man
    
    Loading DB routines from perl5db.pl version 1.32
    Editor support available.
    
    Enter h or `h h' for help, or `man perldebug' for more help.
    
    main::(-e:1):   bile_cti_man
      DB<1> p 7 + 3
    10
      DB<2> use Number::Fraction
    
      DB<3> $a = new Number::Fraction(3) / new Number::Fraction(4)
    
      DB<4> p $a
    3/4
      DB<5> $a += 5
    
      DB<6> p $a
    23/4
    
    pavlix avatar 20.9.2011 21:47 pavlix | skóre: 54 | blog: pavlix
    Rozbalit Rozbalit vše Re: Perl pro zelenáče
    Prave ze vubec
    Tvůj názor respektuju, i když s ním nesouhlasím :).
    Já už tu vlastně ani nejsem. Abclinuxu umřelo.
    19.9.2011 16:30 Tomáš
    Rozbalit Rozbalit vše Re: Perl pro zelenáče
    Dej si do kalendáře upomínku, že za rok si to máš po sobě přečíst a pochopit význam. Tipoval bych, že to moc nepůjde.
    19.9.2011 19:38 kolcon
    Rozbalit Rozbalit vše Re: Perl pro zelenáče
    nj, a proto jsou v perlu k dispozici treba takove nastroje, jako je perlcritic
    21.9.2011 00:07 Ladicek | skóre: 28 | blog: variace | Havlíčkův brod
    Rozbalit Rozbalit vše Re: Perl pro zelenáče
    Ta knížka je výborná. Přečetl jsem ji, několikrát se u ní zasmál a dobře pobavil, a pak se rozhodl nikdy v Perlu nenapsat ani řádku.
    Ještě na tom nejsem tak špatně, abych četl Viewegha.
    4.10.2011 13:06 VM
    Rozbalit Rozbalit vše Re: Perl pro zelenáče
    Moc jsem nepochopil co nechápeš - funkce substr() ve verzi se čtyřmi parametry dělá přesně tohle, vyřízne podřetězec, vrátí ho jako návratovou hodnotu, a v původním řetězci ho nahradí čtvrtým parametrem. Je to popsané v manuálu. A pochybuji, že Python to bude mít nějak jednodušší..

    Založit nové vláknoNahoru

    Tiskni Sdílej: Linkuj Jaggni to Vybrali.sme.sk Google Del.icio.us Facebook

    ISSN 1214-1267   www.czech-server.cz
    © 1999-2015 Nitemedia s. r. o. Všechna práva vyhrazena.