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 02:22 | Nová verze

    D7VK byl vydán ve verzi 1.2. Jedná se o fork DXVK implementující překlad volání Direct3D 5, 6 a 7 na Vulkan. DXVK zvládá Direct3D 8, 9, 10 a 11.

    Ladislav Hagara | Komentářů: 0
    dnes 02:00 | Nová verze

    Byla vydána verze 12.0.0 knihovny libvirt (Wikipedie) zastřešující různé virtualizační technologie a vytvářející jednotné rozhraní pro správu virtuálních strojů. Současně byl ve verzi 12.0.0 vydán související modul pro Python libvirt-python. Přehled novinek v poznámkách k vydání.

    Ladislav Hagara | Komentářů: 0
    včera 19:22 | Humor

    CreepyLink.com je nový zkracovač URL adres, 'díky kterému budou vaše odkazy vypadat tak podezřele, jak je to jen možné'. Například odkaz na abclinuxu.cz tento zkracovač převádí do podoby 'https://netflix.web-safe.link/logger_8oIlgs_free_money.php'. Dle prohlášení autora je CreepyLink alternativou ke zkracovači ShadyURL (repozitář na githubu), který dnes již bohužel není v provozu.

    NUKE GAZA! 🎆 | Komentářů: 2
    včera 12:33 | IT novinky

    Na blogu Raspberry Pi byla představena rozšiřující deska Raspberry Pi AI HAT+ 2 s akcelerátorem Hailo-10 a 8 GB RAM. Na rozdíl od předchozí Raspberry Pi AI HAT+ podporuje generativní AI. Cena desky je 130 dolarů.

    Ladislav Hagara | Komentářů: 3
    včera 12:11 | Komunita

    Wikipedie slaví 25. výročí svého založení. Vznikla 15. ledna 2001 jako doplňkový projekt k dnes již neexistující encyklopedii Nupedia. Doména wikipedia.org byla zaregistrována 12. ledna 2001. Zítra proběhne v Praze Večer svobodné kultury, který pořádá spolek Wikimedia ČR.

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

    Po více než dvou letech od vydání předchozí verze 2.12 byla vydána nová stabilní verze 2.14 systémového zavaděče GNU GRUB (GRand Unified Bootloader, Wikipedie). Přehled novinek v souboru NEWS a v aktualizované dokumentaci.

    Ladislav Hagara | Komentářů: 2
    včera 02:22 | Nová verze

    Google Chrome 144 byl prohlášen za stabilní. Nejnovější stabilní verze 144.0.7559.59 přináší řadu novinek z hlediska uživatelů i vývojářů. Podrobný přehled v poznámkách k vydání. Opraveno bylo 10 bezpečnostních chyb. Vylepšeny byly také nástroje pro vývojáře (YouTube).

    Ladislav Hagara | Komentářů: 4
    včera 01:55 | Humor

    Microsoft zveřejnil zdrojový kód XAML Studia a uvolnil ho pod MIT licencí. XAML Studio je nástroj ze světa Windows, určený pro tvorbu uživatelského rozhraní aplikací pomocí XAML (Extensible Application Markup Language). Stalo se tak zhruba po osmi letech od prvního prohlášení Microsoftu, že se tento kód chystá zveřejnit.

    NUKE GAZA! 🎆 | Komentářů: 0
    včera 01:44 | Zajímavý projekt

    TimeCapsule, 'časová kapsle', je jazykový model trénovaný výhradně na datech z určitých míst a časových období, aby se tak napodobila autentická slovní zásoba, způsob vyjadřování a názory dané doby. Na Hugging face jsou k dispozici modely natrénované na historických textech dostupných v oblasti Londýna mezi lety 1800 až 1875.

    NUKE GAZA! 🎆 | Komentářů: 6
    14.1. 17:55 | Nová verze

    Radicle byl vydán ve verzi 1.6.0 s kódovým jménem Amaryllis. Jedná se o distribuovanou alternativu k softwarům pro spolupráci jako např. GitLab.

    Ladislav Hagara | Komentářů: 0
    Které desktopové prostředí na Linuxu používáte?
     (14%)
     (4%)
     (0%)
     (9%)
     (19%)
     (3%)
     (6%)
     (3%)
     (11%)
     (43%)
    Celkem 453 hlasů
     Komentářů: 12, poslední 14.1. 21:12
    Rozcestník

    Dotaz: Split v PERL

    8.9.2009 14:34 Saky
    Split v PERL
    Přečteno: 598×
    Zdravím..
    Potřeboval bych poradit, jak v PERL rozdělit řádek a načíst slova do samostatných proměnných...
    Mám URL ze souborem http://www.i-netportal.cz/input.txt . Ten obsahuje dejme tomu 4 slova, oddělená mezerami. Pak mám v PERL něco takového, aby mi na příkaz zobraz vypsal obsah souboru:
     
     if ($arg =~ /!zobraz/i) {   
     my $url = 'http://www.i-netportal.cz/input.txt';
          use LWP::Simple;
     my $content = get $url;
     die "Couldn't get $url" unless defined $content;
        
     print "Soubor obsahuje slova: $content\n";
     }
     
    Potřeboval bych však doplnit pravděpodobně funkcí split rozdělení na jednotlivá slova, abych mohl následně použít výstup "!Soubor obsahuje: $1slovo, dále za ním $2slovo,.... " Tedy vypisovat je jednotlivě.
    Zkoušel jsem něco jako ($slovo1, $slovo2, $slovo3) = split(" ", $content); , avšak neúspěšně.
    Díky za každou radu :-)

    Řešení dotazu:


    Odpovědi

    Řešení 1× (saky)
    8.9.2009 15:06 ams
    Rozbalit Rozbalit vše Re: Split v PERL

    Funguje to presne tak jak jste to napsal, mate ale chybu ve vypisu: misto $slovo1 pouzivate $1slovo atd. Jinou moznosti je pouzit pole misto skalaru a napsat neco takoveho:

    @slovo = split(" ", $content);

    print "Soubor obsahuje: $slovo[0], dale za nim $slovo[1],  pak  $slovo[2] a nakonec $slovo[3].\n";

    Řešení 1× (saky)
    8.9.2009 15:14 Saky
    Rozbalit Rozbalit vše Re: Split v PERL

     Tak mám pravděpodobně chybu ve formátu, jelikož :

     

            if ($arg =~ /!zobraz/i) {   

        my $url = 'http://www.i-netportal.cz/input.tx';

          use LWP::Simple;

      my $content = get $url;

      die "Couldn't get $url" unless defined $content;

       @slovo = split(" ", $content);

         print "Soubor obsahuje: $slovo[0], dale za nim $slovo[1],  pak  $slovo[2] a nakonec $slovo[3].\n";  

         }

    Nefunguje.. :(. Kde může být chyba?

     

    8.9.2009 15:53 voda | skóre: 28
    Rozbalit Rozbalit vše Re: Split v PERL
    Není to chybějícím t v http://www.i-netportal.cz/input.txt. Jinak vypisuje to něco? Mě to funguje správně.
    8.9.2009 16:00 Saky
    Rozbalit Rozbalit vše Re: Split v PERL

     Písmenko se ztratilo při CTRLC+C / V :-)

    Obsah souboru mi to vypíše v pořádku, ale jakmile vložím funkci split, aplikace ani nenaběhne, bez jakékoliv chyby. Možná je chyba už někde výše, ale kód je poměrně dlouhý...

    Zvláštní, že bez toho bez problému.. :( Právě jsem si myslel, zda je funkce vložena na správném místě, jelikož to spadne při vložení v jakémkoliv formátu..

    Řešení 1× (saky)
    8.9.2009 16:09 voda | skóre: 28
    Rozbalit Rozbalit vše Re: Split v PERL
    Zkuste tam přidat:
    use strict;
    use warnings;
    use diagnostics;
    
    jestli to něco nevypíše pak. Popřípadě kód zjednodušit tak, ať se chyba hledá lépe.
    8.9.2009 16:10 ams
    Rozbalit Rozbalit vše Re: Split v PERL

    Nemate nahodou v tom souboru use strict? Zkuste misto @slovo = split ...    napsat  my @slovo = split ...;

    8.9.2009 16:33 Saky
    Rozbalit Rozbalit vše Re: Split v PERL

     Tak to je ono :-)

    Supeeeer, funguje :-)

    Bez problému to třídí slova dle obou verzí.

    Děkuji moc za rady :)

    8.9.2009 18:03 voda | skóre: 28
    Rozbalit Rozbalit vše Re: Split v PERL
    Tak při takovéto chybě mi to vypisuje: Global symbol "@slovo" requires explicit package name at ./tmp/perl.pl line 10
    8.9.2009 16:23 Saky
    Rozbalit Rozbalit vše Re: Split v PERL

     Tak jsem zkoušel jednak zapnout podrobný výpis chyb, tam se až na pár drobností nic neprojeví.

    Při zadání funkce split se aplikace vůbec nespustí, tudíž žádná chyba:(.

    Zkoušel jsem i na hradit uvozovky lomítky, avšak také bez úspěchu...

    Zkrátit jej asi nedokáži, teprve s tím experimentuji a asi bych jej nedokázal natolik očesat, abych chybu našel.. :(

    Pokud by byl někdo ochoten pomoci úpravou, jistě bych mohl i já něčím přispět (FTP prostor, SQl databázi...)

    Už si opravdu nevím rady :)

    8.9.2009 16:09 Chulda | skóre: 20
    Rozbalit Rozbalit vše Re: Split v PERL
    Ted jsem se nekde docetl, ze na parsovani mezery jsou potreba lomitka (regularni vyraz) namisto uvozovek split(/ /, $content);
    8.9.2009 16:17 ams
    Rozbalit Rozbalit vše Re: Split v PERL

    Je pravda, ze split ocekava jako prvni argment regexp, ale parametr " " je zvlastni pripad, ktery funguje jinak nez / /. Prectete si perldoc -f split:
    As a special case, specifying a PATTERN of space (' ') will split on white space just as "split" with no arguments does. Thus, "split(' ')" can be used to emulate awk's default behavior, whereas "split(/ /)" will give you as many null initial fields as there are leading spaces.

    22.12.2010 10:35 apokalypso77
    Rozbalit Rozbalit vše Re: Split v PERL
    Dobrý den, mám prolém rozdělit @list na jednotlivé části! píše mi to do příkazového řádku neco mezera neco, ale nevýhodou je že je ten počet pokaždý jiný proto si ten počet nemohu definovat a potřeboval bych, aby to něco bylo pokaždý na samotném řádku

    v přikazovým řádku to vypadá takto @neco neco neco neco +neco @neco takže to nemu rozdělit podle nějakýho znamínka nic poradil by mi někdo ? když tak pls na email

    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.