abclinuxu.cz AbcLinuxu.cz itbiz.cz ITBiz.cz HDmag.cz HDmag.cz abcprace.cz AbcPráce.cz
AbcLinuxu hledá autory!
Inzerujte na AbcPráce.cz od 950 Kč
Rozšířené hledání
×
    dnes 17:33 | Nová verze

    Byla vydána (𝕏) srpnová aktualizace aneb nová verze 1.104 editoru zdrojových kódů Visual Studio Code (Wikipedie). Přehled novinek i s náhledy a videi v poznámkách k vydání. Ve verzi 1.104 vyjde také VSCodium, tj. komunitní sestavení Visual Studia Code bez telemetrie a licenčních podmínek Microsoftu.

    Ladislav Hagara | Komentářů: 0
    dnes 15:33 | IT novinky

    Spotify spustilo přehrávání v bezztrátové kvalitě. V předplatném Spotify Premium.

    Ladislav Hagara | Komentářů: 0
    dnes 15:00 | IT novinky

    Spoluzakladatel a předseda správní rady americké softwarové společnosti Oracle Larry Ellison vystřídal spoluzakladatele automobilky Tesla a dalších firem Elona Muska na postu nejbohatšího člověka světa. Hodnota Ellisonova majetku díky dnešnímu prudkému posílení ceny akcií Oraclu odpoledne vykazovala nárůst o více než 100 miliard dolarů a dosáhla 393 miliard USD (zhruba 8,2 bilionu Kč). Hodnota Muskova majetku činila zhruba 385 miliard dolarů.

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

    Bylo vydáno Eclipse IDE 2025-09 aneb Eclipse 4.37. Představení novinek tohoto integrovaného vývojového prostředí také na YouTube.

    Ladislav Hagara | Komentářů: 0
    včera 18:22 | IT novinky

    T-Mobile od 15. září zpřístupňuje RCS (Rich Communication Services) zprávy i pro iPhone.

    Ladislav Hagara | Komentářů: 3
    včera 13:22 | IT novinky

    Společnost ARM představila platformu Arm Lumex s Arm C1 CPU Cluster a Arm Mali G1-Ultra GPU pro vlajkové chytré telefony a počítače nové generace.

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

    Unicode Consortium, nezisková organizace koordinující rozvoj standardu Unicode, oznámila vydání Unicode 17.0. Přidáno bylo 4 803 nových znaků. Celkově jich je 159 801. Přibylo 7 nových Emoji.

    Ladislav Hagara | Komentářů: 0
    9.9. 21:00 | IT novinky Ladislav Hagara | Komentářů: 17
    9.9. 18:33 | Nová verze

    Realtimová strategie Warzone 2100 (Wikipedie) byla vydána ve verzi 4.6.0. Podrobný přehled novinek, změn a oprav v ChangeLogu na GitHubu. Nejnovější verzi Warzone 2100 lze již instalovat také ze Snapcraftu a Flathubu.

    Ladislav Hagara | Komentářů: 1
    9.9. 12:22 | IT novinky

    Polské vývojářské studio CD Projekt Red publikovalo na Printables.com 3D modely z počítačové hry Cyberpunk 2077.

    Ladislav Hagara | Komentářů: 1
    Pro otevření více webových stránek ve webovém prohlížečí používám
     (83%)
     (7%)
     (2%)
     (2%)
     (4%)
     (2%)
    Celkem 164 hlasů
     Komentářů: 12, poslední včera 13:00
    Rozcestník

    Administrace komentářů

    Jste na stránce určené pro řešení chyb a problémů týkajících se diskusí a komentářů. Můžete zde našim administrátorům reportovat špatně zařazenou či duplicitní diskusi, vulgární či osočující příspěvek a podobně. Děkujeme vám za vaši pomoc, více očí více vidí, společně můžeme udržet vysokou kvalitu AbcLinuxu.cz.

    Příspěvek
    28.5.2009 09:46 pht | skóre: 48 | blog: pht
    Rozbalit Rozbalit vše Re: sort v perlu dle cest ..
    Je to neúnosně pomalé, protože to zavání kvadratickou nebo bůhvíjakou složitostí. Určitě by to šlo nějak zrychlit, ale pouze konstantní mírou, takže pro velký objem dat to stejně bude pasé.

    Ten Váš přístup je prostě no-go. Fundamentální problém je v tom, že kvůli File::Find házíte vše do jednoho pytle (resp. dvou pytlů) a tak ztrácíte možnost správně zařadit věci ve chvíli, kdy přijdou pod ruku. Pak se to snažíte krkolomně rozuzlit. Je to typický příklad nepředávání důležité informace mezi částmi programu.

    Můj program je dělaný pro Perl v5.10 a s předpokladem, že není problém doinstalovat některé užitečné moduly (např. autodie). Neměl by být problém ho retardovat na starší verzi. Místo autodie použijete klasické ... or die, místo smart match použijete grep a místo given...when použijete if...elsif.
    #!/usr/bin/perl
    
    use strict;
    use warnings;
    
    
    # fetch arguments...
    my @dirs = sort @ARGV;
    @dirs = qw/./ unless scalar @dirs;
    
    my @output;
    
    # walk through directory queue...
    while (my $dir = shift @dirs) {
    
            # include this directory in output...
            push @output, $dir;
    
            # temporary array for directory objects
            # we use this to maintain the already sorted order...
            my @localdirs;
    
            # process all entries in this directory...
            opendir(my $dh, $dir) or die "opendir $dir: $!\n";
            my @entries = readdir($dh);
            die "readdir $dir: $!\n" unless scalar @entries;
            for my $obj (sort @entries) {
                    # skip dot and dotdot...
                    next if grep { $_ eq $obj } (qw/. ../);
    
                    # figure out the full path and process it...
                    my $fp = "$dir/$obj";
    
                    if (-f $fp) {
                            # files go to output...
                            push @output, $fp;
                    }
                    elsif (-d $fp) {
                            # dirs go to temp. array...
                            push @localdirs, $fp;
                    }
            }
    
            # prepend found directories to the queue...
            unshift @dirs, @localdirs if scalar @localdirs;
    }
    
    print join("\n", @output), "\n";
    
    Opět dodávám, že jsem tento program na Vašem systému netestoval, takže si případné drobnosti dolaďte.
    In Ada the typical infinite loop would normally be terminated by detonation.

    V tomto formuláři můžete formulovat svou stížnost ohledně příspěvku. Nejprve vyberte typ akce, kterou navrhujete provést s diskusí či příspěvkem. Potom do textového pole napište důvody, proč by měli admini provést vaši žádost, problém nemusí být patrný na první pohled. Odkaz na příspěvek bude přidán automaticky.

    Vaše jméno
    Váš email
    Typ požadavku
    Slovní popis
    ISSN 1214-1267   www.czech-server.cz
    © 1999-2015 Nitemedia s. r. o. Všechna práva vyhrazena.