use warnings;
use strict;

my @test_values = (
    [ '0',        '1' ],
    [ '1',        '1' ],
    [ '0',        '0' ],
    [ 'A',        'A' ],
    [ 'A',        'B' ],
    [ '4349678L', '9' ],
    [ '4347946L', '9' ],
    [ '791517N',  '9' ],
);
my $n = 0;
for my $ar_ref (@test_values) {
    my @ch_val = @{$ar_ref};
    $n++;
    print $n. '.' . '#' x 20, "\n";
    for my $op ( '&', '&&', 'and', '=', '==' ) {
        test_op( $ch_val[0], $ch_val[1], $n, $op );
    }
}

sub test_op {
    my ( $key, $value, $n, $op ) = @_;
    print "# [$key] $op [$value] ";
    my $rez = eval( '$key ' . $op . ' $value' );
    if ($rez) {
        print 'done';
    }
    else {
        print 'no';
    }
    print '[' . $rez . "]\n";
}
