I don't recall why I ever made this but I figured I'd post it here for giggles. It reads STDIN or the files in @ARGV and outputs some nicely formatted trinary.
#!/usr/bin/perl use constant SCREEN_WIDTH => 80; $" = " "; $\ = "\n"; ($columns) = (SCREEN_WIDTH / 6) =~ m((\d+)); $columns --; while (<>) { for (map trit($_), unpack 'C*', $_) { $_ .= " " while length() < 5; if (@line == $columns) { print "@line $_"; @line = (); } else { push @line, $_; } } } print "@line" if @line; sub trit { my $in = shift; my $trit = ''; for (4,3,2,1,0) { my $b = 3 ** $_; my $d = substr $in / $b, 0, 1; $trit .= $d; $in -= $d * $b; } return $trit; }
|
|---|