+++ /dev/null
-#! /usr/bin/perl
-
-$len = shift || 32;
-$op = shift || "+";
-
-sub r {
- my $l = shift || $len;
- my $i;
- my $s;
- for ($i = 0; $i < $l; $i++) {
- my $x = rand(256);
- $s .= sprintf("%02x", $x);
- }
- return $s;
-}
-
-$| = 1;
-open(BC, "|bc | tr A-Z a-z") or die;
-print BC "obase=16\nibase=16\n";
-$x = r();
-if ($op eq "<<" || $op eq ">>") {
- $y = int(rand($len * 4)) + int(rand($len * 4));
- $op = ($op eq "<<" ? "*" : "/");
- $z = sprintf("%x", $y);
- print "$x $y\n";
- print BC "\U$x $op (2^$z)\n";
-} elsif ($op eq "/") {
- $ylen = int(rand($len)) + 1;
- $y = r($ylen);
- print "$x\n$y\n";
- print BC "\U$x / $y\n$x % $y\n";
-} elsif ($op eq "2") {
- print "$x\n";
- print BC "\U$x * $x\n";
-} else {
- $y = r();
- print "$x\n$y\n";
- print BC "\U$x $op $y\n";
-}
-close(BC);