#!/usr/bin/perl -w
use strict;
use warnings;

my %hash = ( "acc12", 1,
            "acc2",  0,
            "acc3",  '',
            "una1",  1 );

$hash{acc3} = ();

my $valid="acc1|acc2|acc3";



while (my ($key, $value) = each (%hash)) {
           if ($key !~ $valid) {
                   print "Invalid Key: $key, ";
           } else {
                   print "Valid Key: $key, ";
           }
if (defined($value)) {
                   print "Value defined for $key: $value\n";
           } else {
                   print "Value undefined for $key\n";
           }
}

# Trying to minimize code to validate keys and values. I'm not sure you can do exact # matching with regex. Can validation for specific key names be done for each key
# without using multiple IF statements?
#
# Valid keys: acc1, acc2, acc3
# Values must be defined
#
# expected results:
# una1 should be invalid
# acc12 should be invalid
# acc3 should be valid, key value should not be undefined
# acc2 should be valid





_______________________________________________
Perl-Unix-Users mailing list
Perl-Unix-Users@listserv.ActiveState.com
To unsubscribe: http://listserv.ActiveState.com/mailman/mysubs

Reply via email to