#!/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