in reply to Re: How to use "our()" variables correctly within a Perl module
in thread How to use "our()" variables correctly within a Perl module

Thank you shmem.....I tried your suggestion, but I get:
F:\scripts\perl>perl -c junk.pl junk.pl syntax OK F:\scripts\perl>junk.pl Use of uninitialized value in concatenation (.) or string at F:\script +s\perl\junk.pl line 12. $variable1 = F:\scripts\perl>
Any ideas? Thank you...memnoch

Replies are listed 'Best First'.
Re^3: How to use "our()" variables correctly within a Perl module
by shmem (Chancellor) on Nov 27, 2007 at 21:25 UTC
    Oops... ah well. Yes, I have ideas, and to correct myself where I've been wrong, and further elaborate in what I have been right - in junk.pl:
    #!/usr/bin/perl use junk; use strict; use warnings; package Mylib; our $variable1; package main; print("\$variable1 = $variable1\n"); __END__ $variable1 = string1

    That package switching creates a lexical (file scoped) alias to $Mylib::variable1, which is accessible in package main.

    Whithout that switching, an alias to $main::variable1 is created, which isn't related to the package global $Mylib::variable1 created by declaring our $variable1 in package Mylib.

    --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}
      Thank you shmem....that works!

      Gloria in Excelsis Deo!