#!/usr/bin/perl -w push(@c,int(rand(5)))for(1..3); sub ed{ ($o,$d,$e) = @_; for(0..length($o)-1){ $k = $c[$_ % @c]; $e .= chr(ord(substr($o, $_, 1)) + ($d?$k:-$k)); } return $e; } my $message = "Hello, how are you?"; my $encoded = ed($message, 1); my $decoded = ed($encoded, 0); print "$message\n"; print "$encoded\n"; print "$decoded\n";