I would try to copy or alias the ugly names, if export wasn't an option.
# Cruel module author doesn't allow exporting these!
my $foo =
\%some::very::long::named::module::foo;
my $drawSomethingPretty =
\&some::very::long::named::module::drawSomethingPretty;
foreach my $key ( keys %{ $foo } ) {
# It doesn't look like you need $val out here, so why not
# just stick in the inner block?
if ( testconditions($key) ) {
my $val = $foo->{$key};
$drawSomethingPretty->($val);
}
}
But if these names can't be exported, there are a couple of equally possible likelihoods:
- The module author needs a gentle nudge to allow export of %foo and &drawSomethingPretty;
- The module author had no intention of letting people get at %foo or &drawSomethingPretty and you are poking into the guts of the module rather than the defined interface. Nothing wrong with poking at guts occasionally, but it could be an explanation of why things aren't working right.
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.