#!/usr/bin/perl use strict; use warnings; no warnings qw /syntax/; tie my %h => 'main'; sub TIEHASH {bless []} sub FETCH {chr (ord ('A') + int rand 26)} while () { s/(\w)/$h{$1}/g; print; } __DATA__ ABCDEF