Hi All,
Is there a way to restrict variables, constants, enums and such
declared in the global section of a module to only the module?
Many thanks,
-T
--
~
When we ask for advice, we are usually looking for an accomplice.
--
Since $?FILE in modules is being discussed I'll just leave this RT here:
https://rt.perl.org/Public/Bug/Display.html?id=128442
On Thu, Mar 16, 2017 at 4:50 AM JuhiMarcel LangbroekTimmerman <
mt195...@gmail.com> wrote:
> In the perl doc of IO, IO::Path etc. The type is $?File.IO.WHAT to search
>
On March 10, 2017 10:32:43 PM Theo van den Heuvel
wrote:
Not with me it doesn't.
my $TheValue = $?FILE.subst(/.* "/"/, "", :g);
sub sayfn is export { $TheValue.say }
Could something else be wrong here?
cheers,
Theo
ToddAndMargo schreef op 2017-03-10 22:10:
On
now we are at it, for readability perhaps instead of substitutes do,
my $thevalue = $?FILE.IO.basename;
Marcel
On March 10, 2017 10:32:43 PM Theo van den Heuvel
wrote:
Not with me it doesn't.
my $TheValue = $?FILE.subst(/.* "/"/, "", :g);
sub sayfn is export {
Hm. How does it do with "sub sayfn" commented out?
On 03/10/2017 04:02 PM, Theo van den Heuvel wrote:
> Todd,
>
> Apparently I don't understand your intentions. You said you wanted
> constants globally available in your module.
> Don't you want to use those constants? If so, how?
>
ToddAndMargo schreef op 2017-03-10 22:10:
On 03/10/2017 09:53 AM, Timo Paulssen wrote:
I don't quite understand what's wrong with just
my $TheValue = $?FILE.subst(/.* "/"/, "" :g);
near the top of your module?
Hi Timo,
Because it gives you "Use of uninitialized value $TheValue"
when
Not with me it doesn't.
my $TheValue = $?FILE.subst(/.* "/"/, "", :g);
sub sayfn is export { $TheValue.say }
Could something else be wrong here?
cheers,
Theo
ToddAndMargo schreef op 2017-03-10 22:10:
On 03/10/2017 09:53 AM, Timo Paulssen wrote:
I don't quite understand what's wrong with
On 03/10/2017 09:53 AM, Timo Paulssen wrote:
I don't quite understand what's wrong with just
my $TheValue = $?FILE.subst(/.* "/"/, "" :g);
near the top of your module?
Hi Timo,
Because it gives you "Use of uninitialized value $TheValue"
when you go to use it inside one of the "is
Is this what you are looking for?
our $IAm is export;
( $IAm = $?FILE ) ~~ s|.*"/"||;
--
Theo van den Heuvel
Van den Heuvel HLT Consultancy
"my" variables are lexically scoped to the curly braces that contain
them. That means that your $IAm is limited exactly to that init block.
Also, =~ isn't in perl6.
You can put "my $IAm" outside that block and assign to it inside the
block, though.
HTH
- Timo
10 matches
Mail list logo