http://www.perlmonks.org?node_id=107872


in reply to Re: A matrixy japh
in thread A matrixy japh

Yeah, I did. It would be insane to try and code like that. I probably accidentally deleted a character or ran two things together. Here, ill post a non-obfu version: (although that ruins the fun!)

#!\perl\bin\perl -w use strict; my $tm; foreach my $i (0..78) { $tm .= chr($i+48); } my $m=0; my @ta; foreach my $y (0..12) { foreach my $n (0..5) { $ta[$y][$n] = substr($tm, $m, 1); $m++; } } sub encryptor { my $w = shift; my ($r, $r1, $r2, $c1, $c2); for (my $i=0; $i<length($w); $i+=2) { if ($i<(length($w)-1)) { my $w1 = substr($w, $i, 1); my $w2 = substr($w, $i+1, 1); foreach my $y (0..12) { foreach my $n (0..5) { if ($ta[$y][$n] eq $w1) { $r1=$y; $c1=$n; } } } foreach my $y (0..12) { foreach my $n (0..5) { if ($ta[$y][$n] eq $w2) { $r2=$y; $c2=$n; } } } if ($r1 == $r2 || $c1 == $c2) { $r.=$w2; $r.=$w1; } else { $r .= $ta[$r2][$c1]; $r .= $ta[$r1][$c2]; } } else { $r.=substr($w, $i, 1); } } return $r; } my @j=("vits", "mbunbkr", "dqlr", "bgiew`"); foreach my $a (@j){print encryptor($a), " ";}