Byla vydána verze 0.84 telnet a ssh klienta PuTTY (Wikipedie). Podrobnosti v přehledu nových vlastností a oprav chyb a Change Logu.
Microsoft představil Azure Linux 4.0 a Azure Container Linux. Na konferenci Open Source Summit North America 2026 organizované konsorciem Linux Foundation a sponzorované také Microsoftem. Azure Linux 4.0 vychází z Fedora Linuxu. Azure Container Linux je založen na projektu Flatcar. Azure Linux (GitHub, Wikipedie) byl původně znám jako CBL-Mariner.
Nové číslo časopisu Raspberry Pi zdarma ke čtení: Raspberry Pi Official Magazine 165 (pdf).
Byla vydána verze 9.2 open source virtualizační platformy Proxmox VE (Proxmox Virtual Environment, Wikipedie) založené na Debianu. Přehled novinek v poznámkách k vydání a informačním videu.
Firefox 151 podporuje Web Serial API. Pro komunikaci s různými mikrokontroléry připojenými přes USB nebo sériové porty už není nutné spouštět Chrome nebo na Chromiu postavené webové prohlížeče.
Byla vydána nová stabilní verze 8.0 webového prohlížeče Vivaldi (Wikipedie). Postavena je na Chromiu 148. Přehled novinek i s náhledy v příspěvku na blogu.
Ve FreeBSD byla nalezena a opravena zranitelnost FatGid aneb CVE-2026-45250. Jedná se o lokální eskalaci práv. Neprivilegovaný uživatel se může stát rootem.
Společnost Flipper Devices oznámila Flipper One. Zcela nový Flipper postavený od nuly. Jedná se o open-source linuxovou platformu založenou na čipu Rockchip RK3576. Hledají se dobrovolníci pro pomoc s dokončením vývoje (ovladače, testování, tvorba modulů).
Vývojáři Wine oznámili vydání verze 2.0 knihovny vkd3d pro překlad volání Direct3D na Vulkan. Přehled novinek na GitLabu.
Společnost Red Hat oznámila vydání Red Hat Enterprise Linuxu (RHEL) 10.2 a 9.8. Vedle nových vlastností a oprav chyb přináší také aktualizaci ovladačů a předběžné ukázky budoucích technologií. Vypíchnout lze CLI AI asistenta goose. Podrobnosti v poznámkách k vydání (10.2 a 9.8).
`cat *.txt >all`;(samozrejme existuje milion jinejch zpusobu)
;
@g = ();
@b = ();
$map{"g"} = \@g;
$map{"b"} = \@b;
open(F, "file.txt");
while (<F>)
{
if (m/(.*):(.*)/)
{
push @{ $map{$1} }, $2;
}
}
close(F);
print "G:\n";
for $i (@g) { print "\t$i\n"; }
print "B:\n";
for $i (@b) { print "\t$i\n"; }
ocekava se ze file.txt bude ve formatu:
g:nick1 g:nick2 b:nick3 b:nick4 g:nick5 ...
Nebo to rozdel do sekci a identifikator dej pouze pred prvni zaznam dane sekce (neco na zpusob *.ini souboru ve Windows). Zpusob zapisu oddelovace si zvol jaky ti vyhovuje - napriklad
[nazev sekce] data data
nebo
::nazev sekce data data
nebo
nazev sekce: data data
atd.
Spojeni do jednoho souboru muzes udelat napriklad takto
for X in *.txt; do
echo "[${X%.txt}]">>all.txt;
cat $X >>all.txt;
done
Puvodni jmena souboru (bez pripony) jsou pouzity jako oddelovace/nazvy sekci. Vysledny soubor s daty tedy muze vypadat takto
[kluci] mnick1 # komentar mnick2 mnick3 [holky] fnick1 fnick2 fnick3
Pokud vylozene nepotrebujes extra promenne tak bych to pak nacital do HASHe - treba nasledujicim zpusobem
my %data;
my $line;
my $sekce = 'neznama';
my $config = 'all.dat';
# nacteme data/konfiguraci
if (open(DATAIN, $config)) {
while ($line = <DATAIN>) {
chomp($line);
next if ($line =~ /^\s*$/);
next if ($line =~ /^\s*#/);
if ($line =~ /^\s*\[([^\]]+)]\s*$/) {
# nalezena nova sekce dat
$sekce = $1;
$sekce =~ s/^\s*//;
$sekce =~ s/\s*$//;
} else {
# cteme data
push @{$data{$sekce}}, $line;
}
}
# data nactena - zavreme soubor
close(DATAIN);
} else {
die("Nelze otevrit soubor '$config'");
}
# pokracuje vlastni kod programu
# ...
Jednotlive kategorie/seznamy jsou pristupne jako @{$data{'jmeno seznamu'}} (napr.: @{$data{holky}} a polozky pak $data{'jmeno seznamu'}[index] (napr.: $data{'holky'}[1]. Seznam vsech nactenych kategorii/seznamu ziskas pomoci keys %data.
Diky za doporuceni a odkaz na CPAN. Pro vasi informaci na CPANu mam nekolik modulu a vyvoj v PERLu mne i pred lety zivil. Pri pouzivani CPAN modulu jsem bohuzel casto narazil na velmi promenlivou kvalitu kodu a dokumentace. Velmi casto je k dispozici nekolik modulu pro stejny ukol a zadny z nich to nedela poradne… To je ale namet na uplne jinou a poradne dlouhou diskusi.
Po precteni tazatelova prispevku jsem mu chtel ukazat kousek PERLoveho kodu a silu PERlu. Tazatel zrejme prechazi z C ci neceho podobneho. Pri pouhem uvedeni odkazu na CPAN ci konkretni modul tak tazatel zrejme zustane u psani ceckoveho kodu v PERLu a nevyuzije silu a prednosti tohoto jazyka.
Napriklad pokud pouze plnim pole, nepotrebuji si udrzovat index posledniho prvku, tedy namisto
$holky[$a] = $radek; $a++;
lze jednoduse pouzit
push @holky, $radek;
Pokud potrebuji pocet prvku, ziskam jej z @holky ve skalarnim kontextu, jenz si lze vynutit pomoci scalar(@holky). Index posledniho prvku pak je $#holky. Tazatel take jeste prilis nezna kouzlo regularnich vyrazu umoznujici volnost v psani zaznamu ve vstupnim souboru (napriklad volitelne mezery jenz nekdy text udelaji pro cloveka prehlednejsim) namisto pouziti substr() kde musim mit zaznam presnou strukturu.
open(my $input, ...) místo open(INPUT, ...). Vypadá to jako nuance ale má to dalekosáhlé dopady (k lepšímu). A také není potřeba mít if...else otevření selhalo, ale stačí použít autodie.
Tiskni
Sdílej: