hi,
I have one app in wich to do my job i have to make alot of if/unless-else chained checks and in most of the cases the actions after that are no more than 3, not everytime but ..!!
Because after a while they become very ugly I want to find a way to simplify the things and make the code more strightforward/non-hairy ;).
But let me show u simple example
$o->check(...); unless ($o->state) { action.. } else { $o->check(...); unless ($o->state) { action.... $o->blah() if ($o->state) { actions..check.. unless($r->state) { and so on...deeper and deeper... } } } }
Most of the checks are on $object->state(), but not nececerily.
For the sake of it things become more underadable when I add alot of comments to clarify the things ;))
I'm looking for an idea how to make this easier for the users of my module. So if the idea adds more complex code/behavior on the Class i'm building it is doable. My main goal is to simplify the task of the other programmers.
I was thinking something on the line of prolog like syntax or I see some lang have 'assert', (cant figure out the idea exactly) !!. But it has to stay perl, not something parsable, 'cause sometimes there is very convulved logic to be added.


10x alot in advance

In reply to deep usage of if-else!! by rootcho

Title:
Use:  <p> text here (a paragraph) </p>
and:  <code> code here </code>
to format your post, it's "PerlMonks-approved HTML":



  • 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:
    & &amp;
    < &lt;
    > &gt;
    [ &#91;
    ] &#93;
  • Link using PerlMonks shortcuts! What shortcuts can I use for linking?
  • See Writeup Formatting Tips and other pages linked from there for more info.