diff options
Diffstat (limited to 'lib/Enigmatic/CryptTrain.pm')
-rw-r--r-- | lib/Enigmatic/CryptTrain.pm | 30 |
1 files changed, 11 insertions, 19 deletions
diff --git a/lib/Enigmatic/CryptTrain.pm b/lib/Enigmatic/CryptTrain.pm index 4d4b6c6..97332f4 100644 --- a/lib/Enigmatic/CryptTrain.pm +++ b/lib/Enigmatic/CryptTrain.pm @@ -56,13 +56,9 @@ around BUILDARGS => sub { if ($args->{positions}) { - warn "pos: @{$args->{positions}}\n"; - for my $pos (@{$args->{positions}}) { $pos = to_RotorPos($pos); } - - warn "pos: @{$args->{positions}}\n"; } return $args; @@ -83,32 +79,28 @@ sub map { my $max_idx = $self->rotor_count -1; - my $log=''; - $self->step_positions(); for my $idx (0..$max_idx) { - my $rotor = $self->rotor_at($idx);$log.="($idx:"; - my $position = $self->position_at($idx);$log.="$position)"; + my $rotor = $self->rotor_at($idx); + my $position = $self->position_at($idx); - $letter = _rotate_by($letter,$position);$log.=$letter; - $letter = $rotor->map($letter);$log.=$letter; - $letter = _rotate_by($letter,-$position);$log.=$letter; + $letter = _rotate_by($letter,$position); + $letter = $rotor->map($letter); + $letter = _rotate_by($letter,-$position); } - $letter = $self->reflector->map($letter);$log.="r${letter}r"; + $letter = $self->reflector->map($letter); for my $idx (reverse 0..$max_idx) { - my $rotor = $self->rotor_at($idx);$log.="($idx:"; - my $position = $self->position_at($idx);$log.="$position)"; + my $rotor = $self->rotor_at($idx); + my $position = $self->position_at($idx); - $letter = _rotate_by($letter,$position);$log.=$letter; - $letter = $rotor->inverse_map($letter);$log.=$letter; - $letter = _rotate_by($letter,-$position);$log.=$letter; + $letter = _rotate_by($letter,$position); + $letter = $rotor->inverse_map($letter); + $letter = _rotate_by($letter,-$position); } - warn "$log\n"; - return $letter; } |