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 04:00 | Nová verze

    Byla vydána nová verze 15.0 svobodného unixového operačního systému FreeBSD. Podrobný přehled novinek v poznámkách k vydání.

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

    UBports, nadace a komunita kolem Ubuntu pro telefony a tablety Ubuntu Touch, vydala Ubuntu Touch 24.04 1.1 a 20.04 OTA-11. Vedle oprav chyb a drobných vylepšení je řešen také středně závažný bezpečnostní problém.

    Ladislav Hagara | Komentářů: 0
    dnes 00:33 | IT novinky Ladislav Hagara | Komentářů: 0
    včera 16:00 | Komunita

    Fedora zve na dvoudenní testování (2. a 3. prosince), během kterého si můžete vyzkoušet nové webové uživatelské rozhraní (WebUI) projektu FreeIPA. Pomozte vychytat veškeré chyby a vylepšit uživatelskou zkušenost ještě předtím, než se tato verze dostane k uživatelům Fedory a celého linuxového ekosystému.

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

    Eben Upton oznámil zdražení počítačů Raspberry Pi, kvůli růstu cen pamětí, a představil 1GB verzi Raspberry Pi 5 za 45 dolarů.

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

    Linus Torvalds na YouTube kanálu Linus Tech Tips staví dokonalý linuxový počítač.

    Ladislav Hagara | Komentářů: 6
    včera 04:11 | Nová verze

    Po 9 týdnech vývoje od vydání Linuxu 6.17 oznámil Linus Torvalds vydání Linuxu 6.18. Přehled novinek a vylepšení na LWN.net: první a druhá polovina začleňovacího okna a Linux Kernel Newbies. Vypíchnout lze například podporu protokolu PSP (PSP Security Protocol, PSP encryption of TCP connections).

    Ladislav Hagara | Komentářů: 0
    včera 03:55 | Nová verze

    Byla vydána nová stabilní verze 25.11 linuxové distribuce NixOS (Wikipedie). Její kódové označení je Xantusia. Podrobný přehled novinek v poznámkách k vydání. O balíčky se v NixOS stará správce balíčků Nix.

    Ladislav Hagara | Komentářů: 0
    včera 03:22 | Komunita

    Richard Hughes na Mastodonu oznámil, že se společnost Framework Computer stala sponzorem služby LVFS (Linux Vendor Firmware Service) umožňující aktualizovat firmware zařízení na počítačích s Linuxem.

    Ladislav Hagara | Komentářů: 0
    28.11. 18:55 | Humor

    Jak na webu co nejšíleněji zadávat datum? Jak to uživatelům co nejvíce znepříjemnit? V Bad UX World Cup 2025 (YouTube) se vybíraly ty nejšílenější UX návrhy. Vítězným návrhem se stal Perfect Date.

    Ladislav Hagara | Komentářů: 19
    Jaké řešení používáte k vývoji / práci?
     (34%)
     (47%)
     (19%)
     (18%)
     (23%)
     (16%)
     (24%)
     (16%)
     (18%)
    Celkem 423 hlasů
     Komentářů: 17, poslední 19.11. 21:57
    Rozcestník

    Dotaz: Jak spustit v perlu program a poslat mu neco na STDIN?

    13.12.2007 11:11 outsider
    Jak spustit v perlu program a poslat mu neco na STDIN?
    Přečteno: 398×
    Potreboval bych z perlu spustit externi program s tim, ze mu zaroven neco poslu na stdin a zpatky ve perl skriptu prectu to, co ten program vypise na stdout. Nevim jak na to. Chtel bych se vyhnout docasnym souborum.

    Diky za kazdou inspiraci!

    PS: $vystup = qx{echo $vstup|/usr/bin/muj_program} neni reseni, protoze za 1. se mi nechce premyslet o escapovani a za 2. se to blbe portuje na Win...

    Odpovědi

    13.12.2007 12:13 mlz
    Rozbalit Rozbalit vše Re: Jak spustit v perlu program a poslat mu neco na STDIN?
    open IN, "|/usr/bin/mujprogram"
    open OUT, "/usr/bin/mujprogram|"
    print IN $vstup
    @output=<OUT>
    ale unika mi PROC to takto chcete. Vice man/perldoc perlipc
    13.12.2007 12:59 happy barney | skóre: 34 | blog: dont_worry_be_happy
    Rozbalit Rozbalit vše Re: Jak spustit v perlu program a poslat mu neco na STDIN?
    netestované, píšem z hlavy
    use Proc::Fork;
    use IO::Pipe;
    
    my $in = new IO::Pipe;
    my $out = new IO::Pipe;
    
    child {
      $in->reader; $out->writer;
      open STDIN, '<&=', $in;
      open STDOUT, '>&=', $out;
    
      exec;
    } parent {
      $in->writer; $out->reader;
    }
    
    13.12.2007 18:05 hudin | skóre: 7
    Rozbalit Rozbalit vše Re: Jak spustit v perlu program a poslat mu neco na STDIN?
    IPC::Open2

    IPC::Open3
    14.12.2007 07:07 pht
    Rozbalit Rozbalit vše Re: Jak spustit v perlu program a poslat mu neco na STDIN?
    Jojo, tohle je ta spravna cesta. Ale je potreba si precist celou dokumentaci - je tam nekolik "caveatu" - deadlocku v pripade ze cekam na vystup a vstup zaroven; radkove vs. blokove bufferovani; ukonceni potomka procesu aby z nej nebyl zombie. Jo a na windows to pouzivat v nejmensi mozne mire, nebot v pripade nejakych vetsich vylomenin se z toho po.
    14.12.2007 08:26 outsider
    Rozbalit Rozbalit vše Re: Jak spustit v perlu program a poslat mu neco na STDIN?
    Diky za nasmerovani, snad se dostanu dneska k tomu, abych to i vyzkousel!
    18.12.2007 10:01 outsider
    Rozbalit Rozbalit vše Re: Jak spustit v perlu program a poslat mu neco na STDIN?
    Tak open2() je spravna cesta (nepotrebuju stderr). Zda se ze to funguje, i kdyz na windonws jsem to jeste nestihl vyzkouset. Napred odladim na Linuxu a pak zkusim, co to dela na Win...

    A kdyby to nekdo zkousel, tak dve kratke poznamky:

    1. Bufferovany vystup... obcas se neco vytiskne dvakrat nebo ve spatnem poradi... :-) Takze $|=1

    2. Dokud nezavru stdin filehandle (ten nove vytvoreny, samozrejme), tak volany podproces neskonci

    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.