[Vienna-pm] pseudo-bitmask to ints
Wolfgang Laun
Wolfgang.Laun at thalesgroup.com
Mon Oct 29 00:16:26 PDT 2007
Vielleicht noch eine kompakte Lösung:
$mask =~ s/\?/./g;
@p = join('X','',map(unpack('B*',pack('C',$_)),0..15)) =~
m/X0{4}($mask)/g;
print "p=@p\n" ;
Das Ergebnis von join braucht natürlich nur einmal berechnet zu werden.
-W
Thomas Klausner wrote:
>Hi!
>
>Weil im IRC grad alle schmaestad sind:
>
>Fuer folgendes Problem such ich eine kleine, praktische Loesung:
>
>Gegeben ist ein String in der Form '00?1' der eine Bitmask darstellt
>
>Ich brauche alle Ints, die dieser Batmask-Pseudo-Regex matchen, also in
>diesem Fall 1 und 3
>
>bzw, ich haatte gerne eine Funktion:
>
> pseudobitmask2ints('00?1'); # (1,3)
> pseudobitmask2ints('1??1'); # (9,11,15,16)
> pseudobitmask2ints('0100'); # (4)
>
>Mir reichen 4 bits.
>
>Weiss da jemand was parktischen?
>
>
>
More information about the Vienna-pm
mailing list