#!/usr/bin/perl
use strict;
use warnings;
my ($num, $let, $foo);
$num = "z";
$let = $num;
# $foo = 1 + $num; # this does not modify $num
$num++; $let++;
print "num:$num let:$let\n";
__END__
####
num:aa let:aa
##
##
Argument "z" isn't numeric in addition (+) at C:\temp\foo.pl line 9.
##
##
C:\temp>perl -le "$a='z';print++$a"
aa
C:\temp>perl -le "$a='9';print++$a"
10
##
##
C:\temp>perl -MO=Concise -e "$a='z'" >z
-e syntax OK
C:\temp>cat z
6 <@> leave[1 ref] vKP/REFC ->(end)
1 <0> enter ->2
2 <;> nextstate(main 1 -e:1) v ->3
5 <2> sassign vKS/2 ->6
3 <$> const[PV "z"] s ->4
- <1> ex-rv2sv sKRM*/1 ->5
4 <#> gvsv[*a] s ->5
C:\temp>perl -MO=Concise -e "$a='9'" >9
-e syntax OK
C:\temp>diff z 9
5c5
< 3 <$> const[PV "z"] s ->4
---
> 3 <$> const[PV "9"] s ->4
##
##
C:\temp>perl -le "$a='foo9';print++$a"
fop0
C:\temp>perl -le "$a='9bar';print++$a"
10