#!/usr/bin/perl use strict; use warnings; my %rep = ( '\.' => 46, '\@' => 64 ); my @numbers = (97..122); my @letters = ('a' .. 'z'); for (my $i = 0; $i < scalar @numbers; $i++) { $rep{$letters[$i]} = $numbers[$i]; } my $shit = lc join ('', <>); foreach (keys %rep) { my $v = '&#'.$rep{$_}.';'; $shit =~ s/$_/$v/g; } print $shit;