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í
×
eParkomat, startup z ČR, postoupil mezi finalisty evropského akcelerátoru ChallengeUp!
Robot na pivo mu otevřel dveře k opravdovému byznysu
Internet věcí: Propojený svět? Už se to blíží...
včera 16:24 | Nová verze

Byla vydána Mageia 5.1. Jedná se o první opravné vydání verze 5, jež vyšla v červnu loňského roku (zprávička). Uživatelům verze 5 nepřináší opravné vydání nic nového, samozřejmě pokud pravidelně aktualizují. Vydání obsahuje všechny aktualizace za posledního téměř půldruhého roku. Mageia 5.1 obsahuje LibreOffice 4.4.7, Linux 4.4.32, KDE4 4.14.5 nebo GNOME 3.14.3.

Ladislav Hagara | Komentářů: 2
včera 13:42 | Pozvánky

V Praze probíhá konference Internet a Technologie 16.2, volné pokračování jarní konference sdružení CZ.NIC. Konferenci lze sledovat online na YouTube. K dispozici je také archiv předchozích konferencí.

Ladislav Hagara | Komentářů: 0
2.12. 22:44 | Komunita

Joinup informuje, že Mnichov používá open source groupware Kolab. V srpnu byl dokončen dvouletý přechod na toto řešení. V provozu je asi 60 000 poštovních schránek. Nejenom Kolabu se věnoval Georg Greve ve své přednášce Open Source: the future for the European institutions (SlideShare) na konferenci DIGITEC 2016, jež proběhla v úterý 29. listopadu v Bruselu. Videozáznam přednášek z hlavního sálu je ke zhlédnutí na Livestreamu.

Ladislav Hagara | Komentářů: 20
2.12. 15:30 | Zajímavý projekt

Společnost Jolla oznámila v příspěvku Case study: Sailfish Watch na svém blogu, že naportovala Sailfish OS na chytré hodinky. Využila a inspirovala se otevřeným operačním systémem pro chytré hodinky AsteroidOS. Použita je knihovna libhybris. Ukázka ovládání hodinek na YouTube.

Ladislav Hagara | Komentářů: 8
2.12. 14:15 | Nová verze

Byla vydána verze 7.1.0 skriptovacího jazyka PHP používaného zejména k vývoji dynamických webových stránek. Jedná se o první stabilní verzi nejnovější větvě 7.1. Přehled novinek v dokumentaci. Podrobnosti v ChangeLogu. K dispozici je také příručka pro přechod z PHP 7.0.x na PHP 7.1.x.

Ladislav Hagara | Komentářů: 2
2.12. 12:55 | Nová verze

Google Chrome 55 byl prohlášen za stabilní. Nejnovější stabilní verze 55.0.2883.75 tohoto webového prohlížeče přináší řadu oprav a vylepšení (YouTube). Opraveno bylo také 36 bezpečnostních chyb. Mariusz Mlynski si například vydělal 22 500 dolarů za 3 nahlášené chyby (Universal XSS in Blink).

Ladislav Hagara | Komentářů: 4
2.12. 11:55 | Pozvánky

Máte rádi svobodný software a hardware nebo se o nich chcete něco dozvědět? Přijďte na 135. sraz spolku OpenAlt, který se bude konat ve čtvrtek 8. prosince od 18:00 v Radegastovně Perón (Stroupežnického 20, Praha 5). Sraz bude tentokrát tématický. Bude retro! K vidění budou přístroje jako Psion 5mx nebo Palm Z22. Ze svobodného hardwaru pak Openmoko nebo čtečka WikiReader. Přijďte se i vy pochlubit svými legendami, nebo alespoň na pivo. Moderní hardware má vstup samozřejmě také povolen.

xkucf03 | Komentářů: 0
2.12. 00:10 | Nová verze

Byla vydána verze 3.2 svobodného systému pro detekci a prevenci průniků a monitorování bezpečnosti počítačových sítí Suricata. Z novinek lze zmínit například podporu protokolů DNP3 a CIP/ENIP, vylepšenou podporu TLS a samozřejmě také aktualizovanou dokumentaci.

Ladislav Hagara | Komentářů: 0
1.12. 21:00 | Nová verze

Byla vydána beta verze Linux Mintu 18.1 s kódovým jménem Serena. Na blogu Linux Mintu jsou hned dvě oznámení. První o vydání Linux Mintu s prostředím MATE a druhé o vydání Linux Mintu s prostředím Cinnamon. Stejným způsobem jsou rozděleny také poznámky k vydání (MATE, Cinnamon) a přehled novinek s náhledy (MATE, Cinnamon). Linux Mint 18.1 bude podporován až do roku 2021.

Ladislav Hagara | Komentářů: 0
1.12. 16:42 | Nová verze

Byl vydán Devuan Jessie 1.0 Beta 2. Jedná se o druhou beta verzi forku Debianu bez systemd představeného v listopadu 2014 (zprávička). První beta verze byla vydána v dubnu letošního roku (zprávička). Jedna z posledních přednášek věnovaných Devuanu proběhla v listopadu na konferenci FSCONS 2016 (YouTube, pdf).

Ladislav Hagara | Komentářů: 0
Kolik máte dat ve svém domovském adresáři na svém primárním osobním počítači?
 (32%)
 (24%)
 (29%)
 (7%)
 (5%)
 (3%)
Celkem 768 hlasů
 Komentářů: 50, poslední 29.11. 15:50
Rozcestník
Reklama

Dotaz: perl skript (Yetiho)

19.8.2003 18:19 Ejlus | skóre: 2
perl skript (Yetiho)
Přečteno: 189×
Ahoj nedavno sem tu psal zemam problem s automatickym vysekavanim priloh z mailu a Yeti mi tu poslal skript v perlu. Dela presne to co potrebuju az na jeden maly detail ktery bych potreboval nejak vyresit a jelikoz v perlu neumim tak....Problem je v tom ze on kdyz uklada ty vysekle attachementy do nejakeho adresare a v tom uz nejaky takovy je ( kuprikladu kdyz prijdou dva maily se stejnou prilohou ) tak on ju neprepise ale tu druhou ulozi s tim ze do nazvu pripoji -1 (-2 -3 atd. dokud nenarazi na cislo ktere tam uz neni) coz je presne to co potrebuju, problem je v tom ze pokud sou v nazvu toho souboru tecky napriklad ahoj.svete.txt tak to nevytvori ahoj.svete-1.txt ale vytvori ahoj-1.svete.txt zkratka to pridava za prvni tecku misto posledni coz je presne to co nepotrebuju protoze vysledne soubory pak prohanim jinym skriptem a tam mi to dela slusnou neplechu. Dival sem se na trochu na perldoc "Mime::parser" a tusim ze to bude asi problem primo nejake funkce..asi $parser->output_dir ale fakt nevim v perlu nedelam. muzete nekdo(obvzlaste Yeti ;)) pomoct ? btw tady to je:

#!/usr/bin/perl

use Mail::Util qw( read_mbox );

use MIME::Parser;

my $parser = new MIME::Parser;

$parser->output_dir('.');

foreach my $f (@ARGV) {

my @list = read_mbox( $f );

@list = map { join '', @{$_} } @list;

map { $parser->parse_data( $_ ) if $_ } @list;

}

Odpovědi

19.8.2003 21:01 unchallenger | skóre: 69 | blog: unchallenger
Rozbalit Rozbalit vše perl skript (Yetiho)

A to jsem se poté, co jsem o weekendu dopsal Perl2RPM zapřísáhl, že v tak blbém jazyce, jako je Perl, už nikdy nic psát nebudu...

Je třeba předefinovat (subclassovat) pomocný objekt filer. Uprav si regulární výraz k obrazu svému. Uvedená verze dělá z blabla.tar.gz -> blabla.tar.gz-1, takže se to v ls alespoń řadí pěkně za sebe. Tebou navrhované blabla.tar-1.gz je podle mne kravina (předtím to dělalo blabla-1.tar.gz)

#!/usr/bin/perl
use MIME::Parser;
use Mail::Util qw( read_mbox );
{
  package MIME::Parser::Filer::Foobar;
  use base 'MIME::Parser::Filer';
  sub find_unused_path {
    my( $self, $dir, $fname ) = @_;
    my $i = 0;
    while ( 1 ) {
      my $suffix = ( $i ? "-$i" : "" );
      my $sname = $fname;
      # XXX tohle je zapotrebi upravit k obrazu svemu XXX
      #$sname =~ s/^(.*?)(\.|\Z)/$1$suffix$2/;
      $sname =~ s/\Z/$suffix/;
      my $path = File::Spec->catfile( $dir, $sname );
      if ( !-e $path ) {
        $i and $self->whine( "collision with $fname in $dir: using $path" );
        return $path;
      }
      $self->debug( "$path already taken" );
    } continue { ++$i }
  }
}

my $filer = MIME::Parser::Filer::Foobar->new( '.' );
my $parser = new MIME::Parser;
$parser->filer( $filer );
foreach my $f ( @ARGV ) {
  my @list = read_mbox( $f );
  @list = map { join '', @{$_} } @list;
  map { $parser->parse_data( $_ ) if $_ } @list;
}
20.8.2003 00:39 Ejlus | skóre: 2
Rozbalit Rozbalit vše perl skript (Yetiho)
Mno co k tomu dodat :) ...s drobnou upravou to funguje skvele takze diky moc. Hmm uvazoval sem ze se zacnu ucit Perl ale ted premyslim spis o Pythonu. V perlu ale jdou pry delat vetsi kouzla :)
20.8.2003 09:58 unchallenger | skóre: 69 | blog: unchallenger
Rozbalit Rozbalit vše perl skript (Yetiho)
Ne, v Perlu jdou akorát psát děsivější, nečitelnější a nepochopitelnější prasárny. TMTOWDTI znamená, že každý píše úplně jiným stylem a používá jiné konstrukce, takže se po ostatních blbě čte. Syntaxe Perlu je chlupatá -- příliš velký poměr speciálních znaků vůči alfanumerickým. Věci se chovají v závislosti na kontextu. Logika, kdy se vytváří nová hodnota a kdy alias, je praštěná (zvlášť, když se uváží, že kromě toho existují reference, symbolické reference, aliasy pomocí typeglobu a tie...). MakeMaker je zbraň hromadného ničení. Používáš-li cizí moduly z CPANu, jsi závislý na věcech, které při upgradu Perlu náhodně přestávají fungovat (napsat Cstocs, aby fungovalo v Perlu 5.6 i 5.8 neumí ani Pazdziora). V Perlu jsou chyby -- nikoli takové, které se objeví při nějakých obskurních okolnostech, ale na které člověk naráží při běžném programování. Zkrátka, perl je dobrý na krátké skripty, tak do 100 řádků, které provedou nějaké operace s textem nebo pustí pár dalších programů a hurá. Pokud chceš psát něco většího, kde bude třeba dodržovat určitý řád, Python je lepší. Kód bude větišnou o něco delší, ale přečteš ho po sobě i po roce. Naprogramovat něco pomocí co nejmenšího počtu písmenek (a divných znaků) není cíl, ke kompresi slouží bzip2...
21.8.2003 08:28 RWS
Rozbalit Rozbalit vše perl skript (Yetiho)
No, nevim, osobne bych rekl, ze Perl je promyslenejsi (aspon v objektech urcite) nez PHP4 a nizsi verze.

There Is More Than One Way To Do It je naopak skvela myslenka, ktera by mela platit vsude. Samozrejme, pokud jazyk neumis dokonale, ale kopirujes jen cizi kusy kodu, ktery lepis dohromady, tak se v tom nevyznas a nepochopis to;-) Perl se musis opravdu naucit, abys v nem mohl programovat.

21.8.2003 09:47 unchallenger | skóre: 69 | blog: unchallenger
Rozbalit Rozbalit vše perl skript (Yetiho)
Je celkem jednoznačně zjištěno, že zdrojový kód se mnohem častěji čte než píše. Já osobně čtu zdrojáky cizích programů dost často, a nikoli kvůli cut-and-paste, ale proto, že tam potřebuji něco změnit (opravit chybu). V Perlu je to utrpení, řekl bych, že i cizí kód v TeXu bývá čitelnější, a to už je tedy ostuda. K PHP se vyjadřovat vůbec nebudu, to bychom se nakonec mohli ještě začít bavit o BASICu...
21.8.2003 08:30 RWS
Rozbalit Rozbalit vše perl skript (Yetiho)
V Perlu jsou chyby -- nikoli takové, které se objeví při nějakých obskurních okolnostech, ale na které člověk naráží při běžném programování.

Muzes poslat nejaky priklad? To by me fakt zajimalo.

21.8.2003 09:35 Ejlus | skóre: 2
Rozbalit Rozbalit vše perl skript (Yetiho)
jo kdyztak sem...ja se rad necemu priucim
21.8.2003 10:25 unchallenger | skóre: 69 | blog: unchallenger
Rozbalit Rozbalit vše perl skript (Yetiho)
V jedné verzi 5.8 nefunguje [] v regulárních výrazech po use locale; perl -we'print "$_\n"' má vyhodit warning. neudělá to (opraveno v 5.8.1) Existuje nějaký důvod, proč by tento skript
#!/usr/bin/perl -w
print "before\n";
{
  local $SIG{__WARN__} = sub { print "$$ dying!\n"; die @_ };
  eval {system 'neexistujici binarka' };
}
print "$$ is alive!\n";
if ( $@ ) {
  print STDERR "eval failed\n";
  exit 1;
}
print "after\n";
měl vypsat (číslo je PID, takže se mění)?
before
13928 dying!
13928 is alive!
eval failed
13928 is alive!
after
sprintf "%d" (nebo s %f) občas vrátí prázdný řetězec. blbě se to reprodukuje, stalo se nám to vždy jen při zpracování 10000 dat, když se z ničeho nic na výstupu neobjevovala nějaká čísla, když ve vstupních datech byla. stačí?
21.8.2003 08:32 RWS
Rozbalit Rozbalit vše perl skript (Yetiho)
Uvedená verze dělá z blabla.tar.gz -> blabla.tar.gz-1, takže se to v ls alespoń řadí pěkně za sebe.

Mozna bych to ale pustil pres sprintf("%04i",$i), protoze razeni by slo ...-1, ...-10, ...-100, ...-2 ... coz je dost trapny razeni

21.8.2003 10:27 unchallenger | skóre: 69 | blog: unchallenger
Rozbalit Rozbalit vše perl skript (Yetiho)
po bitvě je každý generál. od čeho máš ls -v?
21.8.2003 18:12 RWS
Rozbalit Rozbalit vše perl skript (Yetiho)
no, pro oci je to hezky, ale co treba scp maska-* CIL? nemyslim, ze scp $( ls -v maska-* ) CIL je extra hezky.
21.8.2003 20:56 unchallenger | skóre: 69 | blog: unchallenger
Rozbalit Rozbalit vše perl skript (Yetiho)
??? ty příkazy jsou ekvivalentní, takže proč bys měl používat ten delší? nebo ti tak záleží na tom, v jakém pořadí se to přenese?
21.8.2003 23:20 Ejlus | skóre: 2
Rozbalit Rozbalit vše perl skript (Yetiho)
mno kdyz uz sme v tom..nevite nekdo jestli se da nejak udelat aby for cyklus v bashi pouzival jiny odelovac v seznamu nez mezeru nejlip EOL ? kdyz mam napriklad for i in `ls` do "neco se souborem" tak kdyz v nazvu toho souboru je mezera tak to udela bordel protoze napr. u souboru "li nux.txt" bude promena i napred li a pak nux.txt
21.8.2003 23:30 unchallenger | skóre: 69 | blog: unchallenger
Rozbalit Rozbalit vše perl skript (Yetiho)
IFS=$'\n' (viz bash(1)) ale opatrně s tím, mohl by ses divit zase někde jinde...
22.8.2003 15:33 darkelf
Rozbalit Rozbalit vše perl skript (Yetiho)
no ja na tohle s oblibou pouzivam ls | while read i; do ... ale uznavam ze se to nemusi libit kazdemu.
25.8.2003 14:05 Hynek (Pichi) Vychodil | skóre: 43 | blog: Pichi | Brno
Rozbalit Rozbalit vše perl skript (Yetiho)
A brání ti něco místo for i in `ls`;do použít for i in *;do?
XML je zbytečný, pomalý, nešikovný balast, znovu vynalézané kolo a ještě ke všemu šišaté, těžké a kýčovitě pomalované.

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.