qwertyuiop
1. legge da file
2. converte il valore di ogni byte in base4
3. trasforma ogni numero in lettera (0 → A // 1 → C // 2 → G // 3 → T)
1. legge da file
2. converte il valore di ogni byte in base4
3. trasforma ogni numero in lettera (0 → A // 1 → C // 2 → G // 3 → T)
Codice:
#!/usr/bin/perl
use strict;
use warnings;
use diagnostics;
my @base;
my @msg;
my $base4;
my $i;
my $msg;
my $num;
my $numX;
my $numY;
@base = ( "A", "C", "G", "T" );
$msg .= $_ while <>;
@msg = map ord, split //, $msg;
$i = 1;
print " ";
for ( 0 .. ( length $msg ) - 1 ) {
$num = $msg[$_];
while ( $num != 0 ) {
$numX = int $num / 4;
$numY = $num % 4;
$base4 .= $numY;
$num = $numX;
}
$base4 = reverse($base4);
if ( length $base4 < 4 ) {
$base4 = "0" . $base4 while length $base4 != 4;
}
for ( 0 .. 3 ) {
print $base[ substr( $base4, $_, 1 ) ];
}
if ( $i == 16 ) {
print "\n";
$i = 0;
}
print " ";
$i++;
$base4 = "";
}
print "\n";