my $d; my $c = sub { print chr( shift() - 1 - $d + unpack "V", unpack "P4", pack "V", 4 + s +hift ); }; $d = 1 + unpack "V", unpack "P4", pack "V", 4 + $c; { my $F1 = $c; $c->( 64, $c ) }{ $c->( 32, $c ) } + { my $F1 = my $F2 = my $F3 = $c; $c->( 112, $c ) }{ my $F1 = $c; $c->( + 100, $c ) } { $c->( 112, $c ) }{ my $F1 = $c; $c->( + 96, $c ) } { $c->( 108, $c ) }{ $c->( 44, $c ) } + { $c->( 32, $c ) }{ $c->( 112, $c ) } + { my $F1 = $c; $c->( 100, $c ) }{ $c->( 116, $c ) } + { my $F1 = $c; $c->( 96, $c ) }{ $c->( 108, $c ) } + { $c->( 44, $c ) }{ $c->( 32, $c ) } + { my $F1 = $c; $c->( 96, $c ) }{ my $F1 = my $F2 = +$c; $c->( 108, $c ) } { $c->( 100, $c ) }{ $c->( 32, $c ) } + { my $F1 = $c; $c->( 96, $c ) }{ $c->( 32, $c ) } + { $c->( 116, $c ) }{ $c->( 104, $c ) } + { my $F1 = my $F2 = my $F3 = $c; $c->( 108, $c ) }{ my $F1 = my $F2 = +$c; $c->( 112, $c ) } { my $F1 = my $F2 = $c; $c->( 108, $c ) }{ my $F1 = my $F2 = +$c; $c->( 8, $c ) } { my $F1 = $c; $c->( 84, $c ) }{ $c->( 112, $c ) } + { my $F1 = my $F2 = my $F3 = $c; $c->( 108, $c ) }{ my $F1 = my $F2 = +$c; $c->( 108, $c ) } { $c->( 32, $c ) }{ my $F1 = $c; $c->( + 96, $c ) } { $c->( 32, $c ) }{ my $F1 = my $F2 = +my $F3 = $c; $c->( 96, $c ) } { my $F1 = my $F2 = my $F3 = $c; $c->( 108, $c ) }{ my $F1 = $c; $c->( + 108, $c ) } { my $F1 = $c; $c->( 108, $c ) }{ my $F1 = my $F2 = +my $F3 = $c; $c->( 108, $c ) } { my $F1 = my $F2 = $c; $c->( 108, $c ) }{ $c->( 32, $c ) } + { my $F1 = my $F2 = my $F3 = $c; $c->( 112, $c ) }{ my $F1 = $c; $c->( + 116, $c ) } { my $F1 = $c; $c->( 108, $c ) }{ my $F1 = $c; $c->( + 108, $c ) } { my $F1 = $c; $c->( 100, $c ) }{ my $F1 = my $F2 = +$c; $c->( 112, $c ) } { my $F1 = my $F2 = my $F3 = $c; $c->( 36, $c ) }{ my $F1 = my $F2 = +my $F3 = $c; $c->( 112, $c ) } { $c->( 32, $c ) }{ my $F1 = $c; $c->( + 108, $c ) } { my $F1 = my $F2 = my $F3 = $c; $c->( 108, $c ) }{ my $F1 = my $F2 = +$c; $c->( 112, $c ) } { my $F1 = my $F2 = $c; $c->( 108, $c ) }{ $c->( 32, $c ) } + { my $F1 = $c; $c->( 44, $c ) }{ my $F1 = my $F2 = +$c; $c->( 8, $c ) } { my $F1 = $c; $c->( 64, $c ) }{ $c->( 32, $c ) } + { my $F1 = my $F2 = $c; $c->( 100, $c ) }{ $c->( 108, $c ) } + { my $F1 = $c; $c->( 96, $c ) }{ my $F1 = my $F2 = +my $F3 = $c; $c->( 112, $c ) } { my $F1 = my $F2 = my $F3 = $c; $c->( 104, $c ) }{ $c->( 32, $c ) } + { my $F1 = my $F2 = my $F3 = $c; $c->( 108, $c ) }{ my $F1 = my $F2 = +$c; $c->( 100, $c ) } { $c->( 32, $c ) }{ $c->( 68, $c ) } + { my $F1 = $c; $c->( 100, $c ) }{ my $F1 = my $F2 = +my $F3 = $c; $c->( 116, $c ) } { $c->( 32, $c ) }{ my $F1 = $c; $c->( + 44, $c ) } { $c->( 32, $c ) }{ my $F1 = $c; $c->( + 64, $c ) } { $c->( 32, $c ) }{ my $F1 = my $F2 = +$c; $c->( 64, $c ) } { my $F1 = $c; $c->( 100, $c ) }{ my $F1 = $c; $c->( + 100, $c ) } { $c->( 32, $c ) }{ my $F1 = my $F2 = +my $F3 = $c; $c->( 108, $c ) } { my $F1 = my $F2 = $c; $c->( 112, $c ) }{ $c->( 32, $c ) } + { $c->( 116, $c ) }{ my $F1 = my $F2 = +my $F3 = $c; $c->( 116, $c ) } { my $F1 = my $F2 = my $F3 = $c; $c->( 108, $c ) }{ $c->( 32, $c ) } + { my $F1 = $c; $c->( 44, $c ) }{ my $F1 = my $F2 = +$c; $c->( 8, $c ) } { my $F1 = $c; $c->( 64, $c ) }{ $c->( 32, $c ) } + { my $F1 = my $F2 = $c; $c->( 64, $c ) }{ my $F1 = my $F2 = +$c; $c->( 112, $c ) } { my $F1 = $c; $c->( 100, $c ) }{ my $F1 = $c; $c->( + 100, $c ) } { my $F1 = my $F2 = $c; $c->( 120, $c ) }{ my $F1 = $c; $c->( + 100, $c ) } { $c->( 32, $c ) }{ my $F1 = $c; $c->( + 44, $c ) } { $c->( 32, $c ) }{ my $F1 = $c; $c->( + 96, $c ) } { $c->( 32, $c ) }{ my $F1 = my $F2 = +my $F3 = $c; $c->( 96, $c ) } { my $F1 = $c; $c->( 96, $c ) }{ $c->( 112, $c ) } + { my $F1 = $c; $c->( 100, $c ) }{ my $F1 = my $F2 = +$c; $c->( 112, $c ) } { $c->( 32, $c ) }{ my $F1 = $c; $c->( + 104, $c ) } { my $F1 = my $F2 = $c; $c->( 108, $c ) }{ $c->( 32, $c ) } + { $c->( 116, $c ) }{ $c->( 104, $c ) } + { my $F1 = $c; $c->( 100, $c ) }{ $c->( 32, $c ) } + { $c->( 116, $c ) }{ my $F1 = my $F2 = +$c; $c->( 112, $c ) } { my $F1 = $c; $c->( 100, $c ) }{ my $F1 = $c; $c->( + 100, $c ) } { my $F1 = my $F2 = my $F3 = $c; $c->( 112, $c ) }{ $c->( 32, $c ) } + { my $F1 = $c; $c->( 44, $c ) }{ my $F1 = my $F2 = +$c; $c->( 8, $c ) } { my $F1 = $c; $c->( 64, $c ) }{ my $F1 = my $F2 = +$c; $c->( 108, $c ) } { $c->( 100, $c ) }{ $c->( 32, $c ) } + { my $F1 = $c; $c->( 72, $c ) }{ my $F1 = my $F2 = +my $F3 = $c; $c->( 36, $c ) } { my $F1 = $c; $c->( 108, $c ) }{ $c->( 32, $c ) } + { my $F1 = $c; $c->( 96, $c ) }{ $c->( 32, $c ) } + { my $F1 = my $F2 = $c; $c->( 80, $c ) }{ my $F1 = my $F2 = +my $F3 = $c; $c->( 108, $c ) } { my $F1 = my $F2 = my $F3 = $c; $c->( 112, $c ) }{ my $F1 = $c; $c->( + 100, $c ) } { my $F1 = $c; $c->( 32, $c ) }{ my $F1 = my $F2 = +$c; $c->( 8, $c ) } { $c->( 32, $c ) }{ my $F1 = $c; $c->( + 44, $c ) } { $c->( 32, $c ) }{ my $F1 = $c; $c->( + 68, $c ) } { my $F1 = $c; $c->( 108, $c ) }{ my $F1 = $c; $c->( + 104, $c ) } { $c->( 108, $c ) }{ my $F1 = $c; $c->( + 120, $c ) } { $c->( 32, $c ) }{ $c->( 68, $c ) } + { my $F1 = $c; $c->( 104, $c ) }{ my $F1 = my $F2 = +my $F3 = $c; $c->( 96, $c ) } { my $F1 = my $F2 = my $F3 = $c; $c->( 104, $c ) }{ my $F1 = $c; $c->( + 100, $c ) } { my $F1 = my $F2 = $c; $c->( 108, $c ) }{ my $F1 = my $F2 = +my $F3 = $c; $c->( 112, $c ) } { my $F1 = my $F2 = my $F3 = $c; $c->( 108, $c ) }{ my $F1 = my $F2 = +$c; $c->( 108, $c ) } { my $F1 = my $F2 = $c; $c->( 8, $c ) }
Update 2009-09-01. Works on 5.10.0 and it's prettier.
Update 2002-10-17. This code makes assumptions about your perl runtime environment that may not be true. In particular your CPU should be little endian and use 32 bit pointers. Your compiler should not re-order structs. This means that the code as written works great on each of the platforms I tested it on. This is just a case where your mileage may vary.
Those environments are all ix86 using stock gcc-compiled perl unless otherwise stated:
In reply to Emily Dickenson in perl by diotalevi
| For: | Use: | ||
| & | & | ||
| < | < | ||
| > | > | ||
| [ | [ | ||
| ] | ] |