my %translate = (
'0 0' => -1,
'0 1' => -1,
'0 2' => -1,
'1 0' => -1,
'1 1' => 0,
'1 2' => 1,
'2 0' => -1,
'2 1' => 1,
'2 2' => 2,
);
while (<$fh>) {
s/(\d \d)/$translate{$1}/g;
print "New line: $_";
}
####
while () {
s{(\d)\s+(\d)}{log(($1 * $2) || (1/2)) / log(2)}eg;
print "New line: $_";
}
__DATA__
1 1 1 1 0 0 0 0 0 0 0 0
1 1 1 2 0 1 0 1 0 1 0 1
1 1 2 2 0 2 0 2 0 2 0 2
1 2 1 1 1 0 1 0 1 0 1 0
1 2 1 2 1 1 1 1 1 1 1 1
1 2 2 2 1 2 1 2 1 2 1 2
2 2 1 1 2 0 2 0 2 0 2 0
2 2 1 2 2 1 2 1 2 1 2 1
2 2 2 2 2 2 2 2 2 2 2 2
####
New line: 0 0 -1 -1 -1 -1
New line: 0 1 -1 -1 -1 -1
New line: 0 2 -1 -1 -1 -1
New line: 1 0 -1 -1 -1 -1
New line: 1 1 0 0 0 0
New line: 1 2 1 1 1 1
New line: 2 0 -1 -1 -1 -1
New line: 2 1 1 1 1 1
New line: 2 2 2 2 2 2