rot13
#!/usr/bin/perl
$c = "abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ";
while ($line = <STDIN>)
{
chomp($line);
$oline = "";
for ($idx = 0 ; $idx < length($line) ; $idx++)
{
$b = rot13(substr($line, $idx, 1));
$oline .= $b;
}
printf("%sn", $oline);
}
# ===========================================================================
sub rot13
{
my ($byte);
($byte) = @_;
$o = ord($byte);
$a = ord('a');
$z = ord('z');
$A = ord('A');
$Z = ord('Z');
if (($a <= $o) && ($o <= $z))
{
$r = chr($a + (($o - $a + 13) % 26));
}
elsif ((ord('A') <= $o) && ($o <= ord('Z')))
{
$r = chr($a + (($o - $a + 13) % 26));
}
else
{
$r = $byte;
}
return($r);
}
Comments (0)
You don't have permission to comment on this page.