#!/usr/bin/perl -w
use strict;
$_ = "Just another Perl hacker";
my %bitmap = (
A => [
0b01110,
0b10001,
0b11111,
0b10001,
0b10001,
],
C => [
0b01110,
0b10001,
0b10000,
0b10001,
0b01110,
],
E => [
0b11111,
0b10000,
0b11110,
0b10000,
0b11111,
],
H => [
0b10001,
0b10001,
0b11111,
0b10001,
0b10001,
],
J => [
0b11111,
0b00100,
0b00100,
0b00100,
0b11000,
],
K => [
0b10001,
0b10010,
0b11100,
0b10010,
0b10001,
],
L => [
0b10000,
0b10000,
0b10000,
0b10000,
0b11111,
],
N => [
0b10001,
0b11001,
0b10101,
0b10011,
0b10001,
],
O => [
0b01110,
0b10001,
0b10001,
0b10001,
0b01110,
],
P => [
0b11110,
0b10001,
0b11110,
0b10000,
0b10000,
],
R => [
0b11110,
0b10001,
0b11110,
0b10010,
0b10001,
],
S => [
0b01111,
0b10000,
0b01110,
0b00001,
0b11110,
],
T => [
0b11111,
0b00100,
0b00100,
0b00100,
0b00100,
],
U => [
0b10001,
0b10001,
0b10001,
0b10001,
0b01110,
],
);
for (split /\s/, uc) {
my @ee;
for my $char (/./g) {
my @rastered = map {
my $bitrow = $_;
my $pixrow;
for (16, 8, 4, 2, 1) {
if ($bitrow > $_ - 1) {
$bitrow -= $_;
$pixrow .= $char;
}
else {
$pixrow .= ' ';
}
}
$pixrow . ' ';
} @{ $bitmap{$char} };
$ee[$_] .= $rastered[$_] for 0 .. 4;
}
print join ("\n", @ee) . "\n\n";
}