Hi,

As Siavash pointed out, the Perl6 concatenation operator is '~'.

On Fri, Jan 13, 2017 at 10:33 AM, Todd Chester <toddandma...@zoho.com>
wrote:

>
>
> On Fri, Jan 13, 2017 at 10:01 AM, Todd Chester <toddandma...@zoho.com>
> wrote:
>
>> Hi All,
>>
>> I am trying to understand how to read variables from the
>> shell's environment.  I am reading this:
>>
>> https://docs.perl6.org/language/variables#Dynamic_variables
>>
>> <code>
>> #!/usr/bin/perl6
>> # print "Display = " + %*ENV{'DISPALY'} + "\n";
>> print "Perl Version = " + $*PERL + "\n";
>> </code>
>>
>>
>> $ ./env.pl6
>> Cannot resolve caller Numeric(Perl: ); none of these signatures match:
>>     (Mu:U \v: *%_)
>>   in block <unit> at ./env.pl6 line 3
>>
>>
>> What am I missing?  I'd like to get the one I commented
>> out on line 2 working too.  That gives me the following error:
>>
>> Use of uninitialized value of type Any in numeric context
>>   in block <unit> at ./env.pl6 line 2
>> Cannot convert string to number: base-10 number must begin with valid
>> digits or '.' in '⏏Display = ' (indicated by ⏏)
>>   in block <unit> at ./env.pl6 line 2
>>
>>
>> Many thanks,
>> -T
>>
>
>
>
> --
> Fernando Santagata
>
>
> On 01/13/2017 01:20 AM, Fernando Santagata wrote:
>
> Try:
>
> print "Perl Version = " ~ $*PERL ~ "\n";
>
> or better:
>
> say "Perl Version = $*PERL";
>
> OTH
>
>
>
> Hi Fernando,
>
> That fixed it.  I was using Perl5's string concatenation.  Will "~"
> always replace "+" for this, or only with a dynamic variable?
>
> On line two, I misspelled "DISPLAY".
>
> <code>
> #!/usr/bin/perl6
> print "Display = " ~ %*ENV{'DISPLAY'} ~ "\n";
> print "Perl Version = " ~ $*PERL ~ "\n";
> </code>
>
> ./env.pl6
> Display = :0.0
> Perl Version = Perl 6
>
>
> Thank you!
> -T
>
>
>


-- 
Fernando Santagata

Reply via email to