On Fri, Jan 13, 2017 at 10:01 AM, Todd Chester <toddandma...@zoho.com
<mailto: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
<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