Professional Web Applications Themes

use vs. require in modules - PERL Beginners

i have 4 packages: PackageA use IO::File; require My::Utils::Reader PackageB use IO::File; use XML::Writer; My::Utils::Reader use My::Utils; My::Utils use Exporter; in my perl program, i dynamically load PackageA and PackageB like this: eval("require $package_name1"); eval("require $package_name2"); my question is why does PackageA have to "require My::Utils::Reader" instead of "use My::Utils::Reader"? PackageB dynamically loads fine and it "uses" other packages. in fact, every package i list here uses "use" instead of require. why is there an exception for PackageA and "require My::Utils::Reader"? thanks for the help....

  1. #1

    Default use vs. require in modules

    i have 4 packages:

    PackageA
    use IO::File;
    require My::Utils::Reader

    PackageB
    use IO::File;
    use XML::Writer;

    My::Utils::Reader
    use My::Utils;

    My::Utils
    use Exporter;

    in my perl program, i dynamically load PackageA and PackageB like this:

    eval("require $package_name1");
    eval("require $package_name2");

    my question is why does PackageA have to "require My::Utils::Reader" instead
    of "use My::Utils::Reader"? PackageB dynamically loads fine and it "uses"
    other packages. in fact, every package i list here uses "use" instead of
    require. why is there an exception for PackageA and "require
    My::Utils::Reader"?

    thanks for the help.

    Christopher Guest

  2. #2

    Default Re: use vs. require in modules

    >>>>> "Christopher" == Christopher J Bottaro <cs.utexas.edu> writes:

    Christopher> My::Utils
    Christopher> use Exporter;

    Do you have "ISA = Exporter" too? Much easier to write this as

    use base 'Exporter';

    This might be why it needs to be require'd instead of use'd.

    --
    Randal L. Schwartz - Stonehenge Consulting Services, Inc. - +1 503 777 0095
    <com> <URL:http://www.stonehenge.com/merlyn/>
    Perl/Unix/security consulting, Technical writing, Comedy, etc. etc.
    See PerlTraining.Stonehenge.com for onsite and open-enrollment Perl training!
    Randal Guest

  3. #3

    Default Re: use vs. require in modules

    heh, that was it, thanks a bunch.

    Randal L. Schwartz wrote:
     [/ref]
    >
    > Christopher> My::Utils
    > Christopher> use Exporter;
    >
    > Do you have "ISA = Exporter" too? Much easier to write this as
    >
    > use base 'Exporter';
    >
    > This might be why it needs to be require'd instead of use'd.
    >[/ref]


    Christopher Guest

Similar Threads

  1. #25782 [Opn->Bgs]: require( 'require.php' ) crashing Apache 1.3.28
    By sniper@php.net in forum PHP Development
    Replies: 0
    Last Post: October 13th, 02:33 AM
  2. #25782 [Fbk->Opn]: require( 'require.php' ) crashing Apache 1.3.28
    By akinder at technology-x dot com in forum PHP Development
    Replies: 0
    Last Post: October 8th, 09:01 PM
  3. #25782 [Opn->Fbk]: require( 'require.php' ) crashing Apache 1.3.28
    By sniper@php.net in forum PHP Development
    Replies: 0
    Last Post: October 8th, 12:56 AM
  4. #25782 [NEW]: require( 'require.php' ) crashing Apache 1.3.28
    By akinder at technology-x dot com in forum PHP Development
    Replies: 0
    Last Post: October 8th, 12:33 AM

Bookmarks

Posting Permissions

  • You may not post new threads
  • You may not post replies
  • You may not post attachments
  • You may not edit your posts
  •  

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139