You should probably make your host key's value a hash instead of an array, since hashes are good for lookups. But, I think the larger issue is the big hash. It appears to have duplicate keys. Try something more like this:
our %services = {
'1' => {
name => '...',
host => { hosta => 1, hostb => 1 },
}
'2' => {...}
};
Then when someone asks for service 1, you can say:
my $service = $services{ $user_request };
if ( not $service->{ host }{ $current_host } ) {
# error here
}
else {
# real work here
}
Or, you could reverse the roles of the menu item number and the service name if you wanted to make people remember the names ala the service command on linux. Speaking of which, is that an option? If so, it will be better at this sort of thing than home grown code. You could just put a little text menu front on it. But, maybe you don't have that option.
Phil
Posts are HTML formatted. Put <p> </p> tags around your paragraphs. Put <code> </code> tags around your code and data!
Titles consisting of a single word are discouraged, and in most cases are disallowed outright.
Read Where should I post X? if you're not absolutely sure you're posting in the right place.
Please read these before you post! —
Posts may use any of the Perl Monks Approved HTML tags:
- a, abbr, b, big, blockquote, br, caption, center, col, colgroup, dd, del, details, div, dl, dt, em, font, h1, h2, h3, h4, h5, h6, hr, i, ins, li, ol, p, pre, readmore, small, span, spoiler, strike, strong, sub, summary, sup, table, tbody, td, tfoot, th, thead, tr, tt, u, ul, wbr
You may need to use entities for some characters, as follows. (Exception: Within code tags, you can put the characters literally.)
| |
For: |
|
Use: |
| & | | & |
| < | | < |
| > | | > |
| [ | | [ |
| ] | | ] |
Link using PerlMonks shortcuts! What shortcuts can I use for linking?
See Writeup Formatting Tips and other pages linked from there for more info.