Yes, the part w/regard to the error message changes.

You do a require "wrapper" in package demo and in package demo2. demo2 is used by demo. The use means, that demo2 is compiled and executed before demo is even compiled to end.

The docs for require state, that require doesn't include a file twice.

So, wrapper is already loaded via demo2, so it lives in demo2. The require in demo just returns 1, no file is loaded. You'll see that your code works if you change call_httpd_exec in demo to demo2::call_httpd_exec.

<update>
OTOH, if you wrap require "wrapper" in demo into a BEGIN block and place it before use demo2, then the call to call_httpd_exec will fail in demo2, since it now lives in demo.

Read require, use, again perltoot, perlmod, there BEGIN , CHECK, INIT and END... there are also modules which implement automatic exportation of functions, e.g. Spiffy.
</update>

--shmem

_($_=" "x(1<<5)."?\n".q·/)Oo.  G°\        /
                              /\_¯/(q    /
----------------------------  \__(m.====·.(_("always off the crowd"))."·
");sub _{s./.($e="'Itrs `mnsgdq Gdbj O`qkdq")=~y/"-y/#-z/;$e.e && print}

In reply to Re^3: problem with repeating function by shmem
in thread problem with repeating function by mrguy123

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.