main dots / scripts / Scripts / perl / rot13.pl
xxwhirlpool  ·  2026-09-03
 1#!/usr/bin/env perl
 2
 3use 5.38.2;
 4use strict;
 5use warnings;
 6
 7use Getopt::Long qw(GetOptions);
 8
 9sub usage {
10	print("Usage: $0 [-e|-d]\n");
11	exit 0;
12}
13
14GetOptions(
15	"d" => \&decrypt,
16	"e" => \&encrypt,
17) or die(&usage);
18
19sub encrypt {
20	print("enter plaintext: ");
21	while (my $text = <STDIN>) {
22		$text =~ tr/N-ZA-Mn-za-m/A-Za-z/;
23		print("\nencrypted: $text");
24		exit 0;
25	}
26}
27
28sub decrypt {
29	print("enter encrypted text: ");
30	while (my $text = <STDIN>) {
31		$text =~ tr/A-Za-z/N-ZA-Mn-za-m/;
32		print("\ndecrypted: $text");
33		exit 0;
34	}
35}
36
37usage