use utf8;
use strict;
use warnings;
+no warnings 'qw';
use Shiar_Sheet::KeyboardChars 'kbchars';
my %rows = (
qw( { [ } ] " ' | \ < , > . ? / ` 3 ~ = ),
(map {uc, lc} qw[ r t y u i o p h j m ]),
);
+$rows{$_} = $rows{ $shift{$_} } for keys %shift; # alias shifted
my $groups = kbchars(\%rows);
$groups->{flag}{ext} = ['alias', 'identical results from unshifted key'];
-while (my ($alias, $target) = each %shift) {
- # copy alias to shifted
- $groups->{key}{$alias} = $groups->{key}{$target};
- $groups->{def}{''}{$alias} = $groups->{def}{''}{$target}.' ext';
-}
-$groups->{def}{''}{$_} =~ s/g7/g4/ for qw( ! < > ? ); # similar punctuation
+$groups->{def}{''}{$_} .= ' ext' for keys %shift; # mark aliases
+{
%{ $groups },