> On 14/09/2018 12:59, Todd Chester wrote:
>> Hi All,
>>
>> I am in the process of converting a YUGE program I wrote in
>> Perl 5 to Perl 6.  I used "xx::yy" at lot for readability
>> so I could tell where something came from.
>>
>> I take it "::" means something different is Perl 6 than Perl 5.
>>
>> $ p6 'use lib "/home/linuxutil"; use PrintColors;
>> PrintColors::PrintRed "Hi\n";'
>>
>> Could not find symbol '&PrintRed'
>>    in block <unit> at -e line 1
>>
>> In p5 "PrintColors::PrintRed" means to use the routine called
>> "PrintRed" found in a modules called "PrintColors".
>>
>> Does p6 have an equivalent?
>>
>> Many thanks,
>> -T

On 09/14/2018 04:01 AM, Timo Paulssen wrote:
It's important for the PrintRed sub inside PrintColors to be declared
"our", otherwise it is "my" scoped, i.e. limited to the lexical extent
of the module file.


sub PrintRed ( $Str ) is export { print color('bold'), color('red'), "$Str", color('reset'); }

I have never understood the use of "our" in a module.
I can't tell the difference.

Also, did you answer my question about "::" and did it
just go over my head?

The p5 guys use to tell me "its lexiconical", meaning it was figured
out on the fly.  (Took me forever to catch on.)  Is that any
relation to your use of the word "lexical"?

https://www.dictionary.com/browse/lexical?s=t

   adjective

   of or relating to the words or vocabulary of a language,
   especially as distinguished from its grammatical and
   syntactical aspects.

   of, relating to, or of the nature of a lexicon.

-T

Reply via email to