http://www.perlmonks.org?node_id=317968


in reply to RE: Cheesy Encryption
in thread Cheesy Encryption

how about this? offers 3-way "encryption"...
#!/usr/bin/perl use warnings; use strict; use Getopt::Std; my %opt; usage() unless (getopts('rRcCaA', \%opt)); usage() unless @ARGV; if($opt{'r'} || $opt{'R'}) { while(<>) { tr/a-zA-Z/n-za-mN-ZA-M/; print; } } elsif($opt{'c'}) { while(<>) { tr/a-zA-Z/d-za-cD-ZA-C/; print; } } elsif($opt{'C'}) { while(<>) { tr/d-za-cD-ZA-C/a-zA-Z/; print; } } elsif($opt{'a'}) { while(my $line = <>) { @_ = split//, $line; map { print ord($_), " "; } @_; print "\n"; } } elsif($opt{'A'}) { while(my $line = <>) { @_ = split/ /, $line; map { print chr($_); } @_; print "\n"; } } sub usage { print << "__END__"; -c = encrypt with Caesar encryption -C = decrypt from Caesar encryption -r = encrypt with rot13 -R = decrypt from rot13 -a = encrypt to numerical equivalent -A = decrypt back to ASCII example using files: perl $0 -r plain.txt perl $0 -C encrypted.txt example using STDIN: perl $0 -r <ENTER, type text> __END__ exit 1; }