#!/usr/bin/perl -w use strict; sub RunTest($$) { my ($input, $expected) = @_; my $cmd = "echo -en '$input' | perl encode.pl"; my $output = join '', `$cmd`; chomp $output; if( $expected ne $output ) { die "Output mismatched:\n" . "Expected = $expected\n" . " Actual = $output\n"; } } RunTest("", ""); RunTest("X", "]"); RunTest("XX", "^"); RunTest("X\n", "]!"); RunTest(" ", "#"); RunTest(" ", "&"); RunTest(" \n", "#!"); RunTest("X" x 34, "~"); RunTest("X" x 35, "~]"); RunTest(" " x 57, "["); RunTest(" " x 58, "[#"); RunTest("X ", "]#"); RunTest(" X", "#]");