Blender Studio nedávno oznámilo plán vytvořit svůj první otevřený (open source) celovečerní film. Film by se měl jmenovat Overgrown (YouTube). Film vznikne, pokud se zajistí financování. Prvním krokem je získat 7 000 předplatitelů Blender Studia. Cena je od 11,50 eur měsíčně. Aktuálně počet předplatitelů je 5 289. Předplatné pokryje 20 % nákladů. Zbytek, 80 % nákladů, má být financován externími producenty nebo distributory.
Byl vydán Debian 13.6, tj. šestá opravná verze Debianu 13 s kódovým názvem Trixie a Debian 12.15, tj. poslední patnáctá opravná verze Debianu 12 s kódovým názvem Bookworm, k dispozici je LTS. Řešeny jsou především bezpečnostní problémy, ale také několik vážných chyb. Instalační média Debianu 13 a Debianu 12 lze samozřejmě nadále k instalaci používat. Po instalaci stačí systém aktualizovat.
V jádře Linux byla nalezena a v upstreamu již byla opravena kritická zranitelnost GhostLock aneb CVE-2026-43499. Lokálnímu uživateli umožňuje získat práva roota a také obejít kontejnerovou izolaci. Zranitelnost existovala v Linuxu 15 let, tj. od roku 2011, od Linuxu verze 2.6.39.
Evropská komise předběžně shledala, že návykový design aplikací Instagram a Facebook od americké společnosti Meta porušuje unijní nařízení o digitálních službách (DSA). Návykový design zahrnuje například takzvané nekonečné posouvání, automatické přehrávání videí, tzv. push notifikace, kdy aplikace uživatele vybízí k návratu do jejího prostředí, či vysoce personalizovaný algoritmus, který rychle pozná, co uživatele baví a snaží
… více »Byla vydána verze 1.97.0 programovacího jazyka Rust (Wikipedie). Podrobnosti v poznámkách k vydání. Vyzkoušet Rust lze například na stránce Rust by Example.
Švýcarská společnost Punkt. má nově v nabídce telefon Punkt. MC03. Telefon byl navržen ve Švýcarsku s důrazem na soukromí a digitální suverenitu a vyroben v Německu. V telefonu běží operační systém AphyOS (Apostrophy OS) založený na AOSP (Android Open Source Project) 15. Cena telefonu je 745 eur.
TypeScript (Wikipedie), tj. JavaScript rozšířený o statické typování a další atributy, byl vydán v nové verzi 7.0. Kompilátor byl kvůli výkonu přepsán z TypeScriptu do Go.
Europarlament podpořil pozměněnou verzi výjimky známé jako „chat control 1.0“ umožňující firmám skenovat soukromou komunikaci na internetu kvůli ochraně dětí před zneužitím. Pozměňovací návrhy přijaté europoslanci však počítají s tím, že z výjimky bude vyřazena šifrovaná komunikace. Výjimka přestala platit začátkem dubna poté, co se Evropský parlament a Rada EU nedokázaly shodnout na jejím prodloužení. Rada následně přijala
… více »Nejnovější X.Org X server 21.1.24 a Xwayland 24.1.13 řeší 2 bezpečnostní chyby.
Clement "Clem" Lefebvre publikoval souhrn dění v Linux Mintu za červen 2026. Vypíchnuta je vylepšená podpora Waylandu. Už není považována za experimentální. V příští verzi Linux Mintu, plánována je na Vánoce, bude běh Cinnamonu plně podporován na X11 i Waylandu. V květnu na vývoj Linux Mintu přispělo 611 dárců celkovou částkou 19 612 dolarů. Dalších 2 326 patronů přispělo na Patreonu celkovou částkou 5 334 dolarů.
a s cim konkretne si nevis rady?
vzorovy priklad
echo "ahoj, me jmeno je Roman." | perl -e 'while (<>) { /je\s+(.*)\.?/; print $1; }'
#!/usr/bin/perl -w $vstup=`test.sh` (v tom scriptu je echo "ahoj, me jmeno je Roman.")a potom si stim nevim rady,muzes mi prosim pomoci co dal napsat?
#!/usr/bin/perl -w
while ( `test.sh` ne "je" )
{
/je\s+(.*)\.?/;
print $1;
}
$(nahrazení příkazu jeho výstupem) takto nefunguje.
open(VYSTUP, "test.sh |") or die; #doplň levou otevírací závorku "<", s ní mi nešel komentář vložitnebo rozepsaně:while(VYSTUP>) { print; } close(VYSTUP);
open(VYSTUP, "test.sh |") or die;
#doplň levou otevírací závorku "<"
while(my $vystup = VYSTUP>) {
print $vystup;
}
close(VYSTUP);
#!/usr/bin/perl -w
open(VYSTUP, "test.sh |") or die;
while(my $vystup = VYSTUP>) {
if($vystup =~ /je\s(.*)\./o) {
print "$1\n";
}
}
close(VYSTUP);
./test.pl line 5, near ">) " Execution of ./test.pl aborted due to compilation errors.Jeste se chci zeptat kde vemu tu promenou $1 kde je definovana?
uz jsme to trochu pochopil ale stale to nejde:Psal, že je nutné doplnit tu levou <.
Jeste se chci zeptat kde vemu tu promenou $1 kde je definovana?Bylo by vhodné se v Perlu naučit práci s regulárními výrazy. Je to obsah prvního podvýrazu.
#!/usr/bin/perl -w
open(VYSTUP, "test.sh |") or die; #nastavuji konkretni zdroj dat
while(my $vystup = VYSTUP>) { # sem bych doplnil misto "VYSTUP>" "<>" podle clanku jsem pochopil ze tam nemusi byt a bere se to jako standartni vstup
if($vystup =~ /je\s(.*)\./o) { # tady se to prhledava konkretni slovo a pokud se najde je tak vytiskne slovo za tim
print "$1\n";
}
}
close(VYSTUP);
pokud jsem to spatne pochopil tak me proim opravte
takze ted to mam takto:
#!/usr/bin/perl -w
open(VYSTUP, "mpt-status |") or die; # je soubor co chci at se spusti "mpt-status" a ten neco vypise na obrazovku
while( my $vystup = <> ) {
if($vystup =~ /state\s(.*)\./o) { # hledam slovo "state" a zajima me to co je za nim<
print "$1\n";
}
}
close(VYSTUP);
ioc0 vol_id 0 type IM, 2 phy, 279 GB, state DEGRADED, flags ENABLED ioc0 phy 0 scsi_id 1 SEAGATE ST3300007LC 0003, 279 GB, state ONLINE, flags NONE ioc0 phy 1 scsi_id 0 SEAGATE ST3300007LC 0003, 279 GB, state MISSING, flags OUT_OF_SYNCjde mi o to abych nasel to co je za "state" a to vypsal a nebo ulozil do promenne a dal sni pracoval, jako if, then, else atd....
#!/usr/bin/perl -w
open(VYSTUP, "w |") or die;
while( my $vystup = VYSTUP> ) {
if($vystup =~ /load\s(.*)\./o) {
print "$1\n";
}
}
close(VYSTUP);
tohle nevypise vubec nic.
tohle nevypise vubec nic.protože
\. v regulárním výrazu. Opravdu by bylo dobré si nejprve nastudovat základy.
DEGRADED, flags ENABLED ONLINE, flags NONE MISSING, flags OUT_OF_SYNCpotreboval bych jen to co mam na prvnim radku za state a to je DEGRADED v opacnem pripade je to OPTIMAL a vic nic nechci, potreboval bych z tama odstranit i tu carku za slovem. TAhle vypada script ktery delam:
#!/usr/bin/perl
$STATE_CRITICAL = 2;
$STATE_OK = 0;
open(VYSTUP, "mpt-status |") or die;
while( my $vystup = VYSTUP> ) {
if($vystup =~ /state\s(.*)/) {
print "$1\n";
}
}
close(VYSTUP);
if ( "$1" ne "OPTIMAL" ){
print "$1\n";
exit $STATE_CRITICAL;
}else{
print "HW RAID OK - state $1";
exit $STATE_OK;
}
Dal mi tu neni jasne stim vypisem promene $1 potreboval bych ji dal pouzivat a porovnat ji s necim a zase ji dal vypsat v textu.
open(ZPROG, "mpt-status |") or die;
my $vstup = ZPROG>;
my $nejakaPromenna="";
if($vstup =~ /^(\w+),/) {
print "$1\n";
$nejakaPromenna=$1;
}
print "$nejakaPromenna\n";
close(ZPROG);
my $vstup = `mpt-status`;
die 'nemuzu najit status' unless $vstup =~ /state [ ] ([A-Z]+)/xms;
my $status = $1;
if ($status eq 'OPTIMAL') {
print "ok\n";
}
else {
print "bububu\n";
}
Použití funkce open pro získání výstupu z externího programu (když neuvažuji STDIN) je korektnější řešení.Neni to korektnejsi reseni. Je to uplne jine reseni uplne jineho problemu.
Navíc ukládání veškerého vstupu do paměti není dobré řešení z hlediska spotřeby paměti.Spotrebu pameti radeji v Perlu nereste. Perl je dobry ve spouste veci, ale ne ve spotrebe pameti. (Navic, vzdyt ten program vyplivne asi tak ctyri radky.)
Dále se ve vašem řešení ochuzujete v chybovém hlášení o proměnnou $!Protoze to hlaseni nema s tou promennou nic spolecnyho. Test je tam na to, zda se povedlo vyextrahovat pozadovane slovo, a ne zda proces skoncil uspesne. Pokud bych chtel testovat to druhe tak tam muzu dat neco jako
die "mpt-status vratil hodnotu $?" if $? (pripadne se nimrat v jednotlivych bitech toho $? abych vytahl status, stav a signal). Ale ani zde nepouziju $!, jelikoz v tomto pripade je dost k nicemu.
Test je tam na to, zda se povedlo vyextrahovat pozadovane slovoV tom případě je použití funkce die dost nešikovné. Jestliže víte co funkce die dělá, tak nechápu, proč kvůli neexistenci hledaného řetězce ukončujete celý script. Testování úspěchu externího programu je lepší řešit přes návratovou hodnotu, protože kde máte jistotu, že výstup neobsahoval jiné řetězce než ten, který jste hledal.
(Navic, vzdyt ten program vyplivne asi tak ctyri radky.)Tento případ ano, ale jde o obecný přístup k podobným problémům. Zvyknout si na to, že prostě vše co mi přijde na vstup jednorázově uložím do proměnné (může jít o soubor délky několika MB) není podle mě dobrý a zbytečně zvyšuje paměťové požadavky scriptu bez ohledu na to, jak samotný perl hospodaří s pamětí.
Jestliže víte co funkce die dělá, tak nechápu, proč kvůli neexistenci hledaného řetězce ukončujete celý script.Protoze skript ma vyhledat dany retezec. Pokud retezec neexistuje, nevim, co by jeste mel skript delat.
Testování úspěchu externího programu je lepší řešit přes návratovou hodnotu ...Vzdyt od toho je to $? ...
... protože kde máte jistotu, že výstup neobsahoval jiné řetězce než ten, který jste hledal... nechapu jak souvisi s navratovou hodnotou. Pokud vystup obsahoval jiny retezec tak stejne nevim co s tim, takze skript ukoncuji, viz vyse.
Tento případ ano ...Jsem rad ze souhlasite, jelikoz zde resime tento pripad ...
... ale jde o obecný přístup k podobným problémům.... "obecny pristup k podobnym problemum" je blbost, vzdy resite konkretni problem. Navic, jestli je u Vas "podobny problem" to, ze se mi najednou nevejde retezec do pameti, tak potes.
Zvyknout si na to, že prostě vše co mi přijde na vstup jednorázově uložím do proměnné ...Ja si na nic takoveho nezvykam ...
... (může jít o soubor délky několika MB) ...... nekolik MB se mi stejne do pameti vejde, nicmene zde mame jen ty 4 radky ...
... zbytečně zvyšuje paměťové požadavky scriptu ...... nejdriv to zmerte v profileru, pak se o tom muzeme bavit (muzete napriklad dojit i k tomu, ze Vase reseni neusetri nic, protoze data mohou stejne byt v nejakem bufferu -- asi i budou, nebo ze narok pameti na uchovani I/O objektu prebije ty ctyri radky) ...
... bez ohledu na to, jak samotný perl hospodaří s pamětí.... zrovna zde byste ohled mel brat, pokud Vas zajimaji pametove naroky skriptu, protoze rezie perlu urcite nebude zanedbatelna. Zaverem: ja ten Vas postoj s pameti chapu, ale Vase metodika zachazeni s nim je naprosto chybna.
Tiskni
Sdílej: