Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- use v6;
- my @alphabet = 'A' .. 'Z';
- multi sub MAIN(Str $mode, Int $n, Str $filename) {
- given $mode {
- when $_ eq 'enc' {
- my $message = prepare(slurp($filename));
- my $encrypt = encrypt($n, $message);
- say $encrypt;
- }
- when $_ eq 'dec' {
- my $message = slurp($filename);
- my $decrypt = decrypt($n, $message);
- say $decrypt;
- }
- default {
- say 'Invalid !';
- }
- }
- }
- multi sub prepare(Str $message) {
- return $message.subst(/<-:L>+/,'',:g).uc;
- }
- multi sub encrypt ($key where 1..25, $message) {
- $message.trans(@alphabet Z=> @alphabet.rotate($key));
- }
- multi sub decrypt ($key where 1..25, $message) {
- $message.trans(@alphabet.rotate($key) Z=> @alphabet);
- }
Advertisement
Add Comment
Please, Sign In to add comment