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 06:00 | Zajímavý projekt

    Jack Dorsey představil (𝕏, Nostr) svůj nový projekt bitchat. Jedná se o bezpečnou decentralizovanou peer-to-peer aplikaci pro zasílání zpráv bez potřeby internetu, serverů a telefonních čísel. Využívá se Bluetooth Mesh Network. Detaily v technické dokumentaci. Zdrojové kódy jsou k dispozici pod licencí Unlicense.

    Ladislav Hagara | Komentářů: 3
    dnes 04:22 | Nová verze

    Hudební přehrávač Amarok byl vydán v nové verzi 3.3 "Far Above the Clouds". Nově je postaven na Qt6/KF6 a využívá GStreamer místo Phononu.

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

    Společnost IBM představila novou generaci svých serverů: IBM Power11.

    Ladislav Hagara | Komentářů: 1
    včera 15:33 | Komunita

    Multiplatformní digitální pracovní stanice pro práci s audiem Ardour byla postavena na GTK2. Vývojáři neplánovali její portaci na GTK3 nebo GTK4. Naopak, v lednu loňského roku si vytvořili vlastní fork GTK2 s názvem YTK. Ten v únoru letošního roku přestal být volitelným a nově byla zcela odstraněna podpora GTK2.

    Ladislav Hagara | Komentářů: 15
    včera 11:33 | Nová verze

    Byla vydána nová verze 6.4 linuxové distribuce Parrot OS (Wikipedie). Jedná se o linuxovou distribuci založenou na Debianu a zaměřenou na penetrační testování, digitální forenzní analýzu, reverzní inženýrství, hacking, anonymitu nebo kryptografii. Přehled novinek v příspěvku na blogu.

    Ladislav Hagara | Komentářů: 0
    včera 11:22 | Pozvánky

    Společnost initMAX pořádá sérii bezplatných webinářů věnovaných novému Zabbixu 7.4. Podrobnosti a registrace na webu initMAX.

    … více »
    Heřmi | Komentářů: 0
    včera 03:44 | Nová verze

    Byla vydána verze 7.0 open source platformy pro správu vlastního cloudu OpenNebula (Wikipedie). Kódový název nové verze je Phoenix. Přehled novinek v poznámkách k vydání v aktualizované dokumentaci.

    Ladislav Hagara | Komentářů: 1
    včera 00:11 | Nová verze

    E-mailový klient Thunderbird byl vydán ve verzi 140.0 ESR „Eclipse“. Jde o vydání s dlouhodobou podporou, shrnující novinky v upozorněních, vzhledu, správě složek a správě účtů. Pozor, nezaměňovat s průběžným vydáním 140.0, které bylo dostupné o týden dříve.

    Fluttershy, yay! | Komentářů: 15
    7.7. 15:11 | IT novinky

    Organizace Video Games Europe reprezentující vydavatele počítačových her publikovala prohlášení k občanské iniciativě Stop Destroying Videogames.

    Ladislav Hagara | Komentářů: 0
    7.7. 13:22 | IT novinky

    Společnost Raspberry Pi nově nabzí Raspberry Pi Camera Module 3 Sensor Assembly, tj. samostatné senzorové moduly z Raspberry Pi Camera Module 3.

    Ladislav Hagara | Komentářů: 0
    Jaký je váš oblíbený skriptovací jazyk?
     (60%)
     (27%)
     (7%)
     (2%)
     (1%)
     (1%)
     (3%)
    Celkem 374 hlasů
     Komentářů: 16, poslední 8.6. 21:05
    Rozcestník

    Dotaz: Perl - Split

    7.1.2011 16:26 Psp.2010
    Perl - Split
    Přečteno: 497×

    Dobrý den. Mam dotaz jak pomocí splitu mam rozdělit "@list".Když v @list se skrývá: NICK @NICK NICK %NICK NICK NICK +NICK Viz kód:

    my ($self, $event) = @_;

    my (@list, $channel) = ($event->args);

    ($channel, @list) = splice @list, 2;

    print "@list\n";

    Otázka..Jak se split mam rozdělit každý nick na jeden řádek a odstranit znaky: @, +, % Zkoušel sem:

    my $people;

    my $people = split(/ /, @list);

    ale bohužel marně..Nejaky navrh?


    Řešení dotazu:


    Odpovědi

    7.1.2011 17:09 chochi | skóre: 29 | Praha
    Rozbalit Rozbalit vše Re: Perl - Split
    Trochu zlepsit vyraz, podle ktereho se splituje, napr (odstrani vsechny mazery, @, %, +):
    
    $ perl -e 'use Data::Dumper; $a = "NICK \@NICK NICK %NICK NICK NICK +NICK"; @l=split(/[\@%\+ ]+/, $a); print(Dumper(\@l));'
    $VAR1 = [
              'NICK',
              'NICK',
              'NICK',
              'NICK',
              'NICK',
              'NICK',
              'NICK'
            ];
    
    7.1.2011 17:12 Psp.2010
    Rozbalit Rozbalit vše Re: Perl - Split
    Ano, tak rekneme ze ty NICKY se každou chvily meni..Jak znaky tak nicky..ale ano, zkusim to.
    7.1.2011 17:17 Psp.2010
    Rozbalit Rozbalit vše Re: Perl - Split

    Ted mi to vypisuje todlecto:

    $VAR1 = [ '1' ];

    wamba avatar 7.1.2011 19:39 wamba | skóre: 38 | blog: wamba
    Rozbalit Rozbalit vše Re: Perl - Split
    mohl by jste napsat co ten program má dělat nějak podrobněji, popř. ke každému příkazu (řádku) napsat co by měl dělat? předpokládám, že s Perl-em začínáte nebo je to hodně "cool" kód? např. tohle
    my $people = split(/ /, @list);
    vezme počet prvků @list rozdělí to podle mezery a do $people se uloží počet prvků vzniklého pole, tedy pravděpodobně vždy 1, což pochybuji je to co chcete :)
    This would have been so hard to fix when you don't know that there is in fact an easy fix.
    7.1.2011 22:18 Psp.2010
    Rozbalit Rozbalit vše Re: Perl - Split
    Co by to mělo umět? Vytáhnout kdo je lidí na chatu (konkrétně na Lide.cz kde se IRC používá Lidegw.py) .A já po tom chci, aby mi je vytáhl (což je), a po té zkontroloval zda je někdo na blacklistu pomocí tim že rozsekám @list.Takže bych tim měl každýho uživatele na jenom řádku.O to mi jde.A abych se tam zbavil těch %, @ a +.
    wamba avatar 7.1.2011 23:38 wamba | skóre: 38 | blog: wamba
    Rozbalit Rozbalit vše Re: Perl - Split
    no to je sice hezky, ale když nám neřeknete co vrací $events->args, tak to bude těžké.

    zkusím odhadnout, že vrací pole, kde od 4,5,... prvek obsahuje postupně ty nicky, pak bych zkusil něco jako
    my @people = map /(\w+)/, @list;
    ale celkově jsou to pro mě určité podivnosti např. tohle
    my (@list, $channel) = ($event->args);
    by chtělo přinejmenším komentář, co to dělá.

    This would have been so hard to fix when you don't know that there is in fact an easy fix.
    7.1.2011 23:47 Psp.2010
    Rozbalit Rozbalit vše Re: Perl - Split
    @list je pole není omezeno počtem lidí args je mistnost kde se ti lidi nacházejí a já chci kontrolu těch lidí tam jsou, aby byli vypsány každý na jeden řádek.
    Řešení 1× (Psp.2010 (tazatel))
    wamba avatar 8.1.2011 00:43 wamba | skóre: 38 | blog: wamba
    Rozbalit Rozbalit vše Re: Perl - Split
    use 5.10.1;
    use Data::Dumper;
    
    my @list = qw{NICK \@NICK NICK %NICK NICK NICK +NICK};
    my @people = map /(\w+)/, @list;
    say Dumper( [\@list, \@people] );
    say foreach @people;
    
    This would have been so hard to fix when you don't know that there is in fact an easy fix.
    8.1.2011 00:52 Psp.2010
    Rozbalit Rozbalit vše Re: Perl - Split
    Ano, to by šlo :) ale v my @list = qw{NICK \@NICK NICK %NICK NICK NICK +NICK}; de o to, že ty NICK nahrazují uživatele, který nejsou v přesnym pořadí jak je dáno.Vždycky se to může měnit.
    wamba avatar 8.1.2011 01:10 wamba | skóre: 38 | blog: wamba
    Rozbalit Rozbalit vše Re: Perl - Split
    jen příklad, to můžete nahradit tím vaším
    my @list = $event->args;
    nebo něčím podobným
    This would have been so hard to fix when you don't know that there is in fact an easy fix.
    8.1.2011 01:17 Psp.2010
    Rozbalit Rozbalit vše Re: Perl - Split
    Skoro funkčí, děkuji :)

    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.