#!/usr/bin/env perl use Crypt::Rot13; use strict; $^W = 1; # -w $| = 1; # autoflush sub test; sub rot_test { my $rot13 = new Crypt::Rot13 ('abcdefghijklmnopqrstuvwxyz'); my $rot; foreach (0 .. 26) { $rot = ($rot13->rot13 ($_))[0]; unless ( eq "$rot\n") { return 0; } } return 1; } test (1, "loading", sub { use Crypt::Rot13; 1; }); test (2, "checking correct rotations", \&rot_test); sub test { my ($number, $purpose, $test) = (shift, shift, shift); print "Test $number ($purpose)..."; print &$test () ? "ok\n" : "not ok\n"; } __DATA__ abcdefghijklmnopqrstuvwxyz bcdefghijklmnopqrstuvwxyza cdefghijklmnopqrstuvwxyzab defghijklmnopqrstuvwxyzabc efghijklmnopqrstuvwxyzabcd fghijklmnopqrstuvwxyzabcde ghijklmnopqrstuvwxyzabcdef hijklmnopqrstuvwxyzabcdefg ijklmnopqrstuvwxyzabcdefgh jklmnopqrstuvwxyzabcdefghi klmnopqrstuvwxyzabcdefghij lmnopqrstuvwxyzabcdefghijk mnopqrstuvwxyzabcdefghijkl nopqrstuvwxyzabcdefghijklm opqrstuvwxyzabcdefghijklmn pqrstuvwxyzabcdefghijklmno qrstuvwxyzabcdefghijklmnop rstuvwxyzabcdefghijklmnopq stuvwxyzabcdefghijklmnopqr tuvwxyzabcdefghijklmnopqrs uvwxyzabcdefghijklmnopqrst vwxyzabcdefghijklmnopqrstu wxyzabcdefghijklmnopqrstuv xyzabcdefghijklmnopqrstuvw yzabcdefghijklmnopqrstuvwx zabcdefghijklmnopqrstuvwxy abcdefghijklmnopqrstuvwxyz