aboutsummaryrefslogtreecommitdiff
path: root/challenge-090/perlboy1967/perl/ch-1.pl
blob: 24b20540cfbe0ca68db6da1ccdcf65597545b912 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
#!/usr/bin/perl

# Perl Weekly Challenge - 090
# - https://perlweeklychallenge.org/blog/perl-weekly-challenge-090/
#
# Task 1 - DNA Sequence
#
# Author: Niels 'PerlBoy' van Dijke

use strict;
use warnings;

# Unbuffered STDOUT
$|++;

my %dnaMapping = (qw(T A A T G C C G));

@ARGV = (qw(GTAAACCCCTTTTCATTTAGACAGATCGACTCCTTATCCATTCTCAGAGATGTGTTGCTGGTCGCCG))
  unless (@ARGV);

my ($D) = @ARGV;

die "Not a valid DNA sequence"
  if ($D =~ m#[^ATCG]#);

printf "Input:  %s\n", $D;

$D =~ s#(.)#$dnaMapping{$1}#g;

printf "Output: %s\n", $D;