Fin grafik över spridningen av Storm-masken

I slutet av den här veckan stormade det i mellan-Europa. Samtidigt var det någon som spred ett virus kallat Storm Worm, eller Small.dam. Jag blev lite avundsjuk på F-Secures visualisering på spridningen av Small.dam:

(Samtidigt ville jag testa att publicera en liten Youtube-film.)

21
Jan 2007
POSTED BY
DISCUSSION 0 Comments
TAGS

Galet Perl-misstag

Så här brukar man skriva hashar i Perl:

my $hash = {
    key1 => 'foo',
    key2 => &bar,
    key3 => 'baz'
};

Nu är det så att man inte alltid vet hur funktionen &bar returnerar sitt data. Om man inte vet det kan det hända att ovanstående hash inte resulterar i den hash man tror att man ska få. Om &bar returnerar data med en wantarray så ska man veta att när man skriver funktionsanrop i en hash, så befinner man sig i list-context. Det betyder att man rätt som det är kan få två eller fler värden returnerade från funktionen &bar. Om man vet att skrivningen “=>” i en hash bara är syntaktiskt socker för ett komma-tecken så betyder det att något så otroligt kan hända att key3 blir ett värde till en nyckel som returneras från &bar.

Allt detta låter naturligtvis helsnurrigt, men det är sant. Man kan hamna i många timmars felsökning, men nu har jag råkat ut för det flera gånger, så jag vet vad ska ska akta mig för… Egentligen kan man tycka att det är en bugg i Perl, och att “=>” borde resultera i ett scalar context, men jag kan för lite Perl-internals för att tycka rätt saker.

06
Jan 2007
POSTED BY
POSTED IN Hacks
DISCUSSION 0 Comments
TAGS