#!/usr/bin/perl -w # cirno1.pl - Don Yang (uguu.org) # # 09/17/08 binmode STDIN; $buffer = ""; while($line = <>) { $buffer .= $line; for(; length($buffer) >= 60; $buffer = substr($buffer, 60)) { $output = ""; foreach $x (unpack 'V15', $buffer) { $a = $x % 90; $b = ($x /= 90) % 90; $c = ($x /= 90) % 90; $d = ($x /= 90) % 90; $e = $x / 90; $output .= pack 'C*', $a + 33, $b + 33, $c + 33, $d + 33, $e + 33; } print $output, "\n"; } } $remainder = (length($buffer) % 4) ? (4 - (length($buffer) % 4)) : 0; $output = ""; foreach $x (unpack 'V*', $buffer . "\0\0\0") { $a = $x % 90; $b = ($x /= 90) % 90; $c = ($x /= 90) % 90; $d = ($x /= 90) % 90; $e = $x / 90; $output .= pack 'C*', $a + 33, $b + 33, $c + 33, $d + 33, $e + 33; } for(; $remainder > 0; $remainder--) { chop $output; } print $output, "\n";