go ahead... be a heretic PerlMonks

### Answer: Why does \$string++ work the way it does?

by extremely (Priest)
 on Oct 26, 2000 at 11:54 UTC Need Help??

Q&A > strings > Why does \$string++ work the way it does? - Answer contributed by extremely

Well, you've discovered that '++' is magic on strings of letters. The magic works on strings like "aaaa" and "aaa111" but on strings like "1111aaaa" you will get 1112. If the string begins with a number then perl will whack off the text and treat it as a number. All the other math ops will do the same for a string that begins with a number.

BTW, perl's definition of a number is pretty complex. "-1e3garg" + "+4ee3" will net you 1004.

```\$a="-1e3ble";
\$b="+4.33eeq";
\$c="aaa999";
\$d="a9z9z9";
print "a = \$a and b = \$b\n";
print "c = \$c and d = \$d\n";
print "a + b = ". \$a+\$b . "\n";
print "c + d = ". \$c+\$d . "\n";
print "int(b) = ". int(\$b) . "\n";
print "++a = ". ++\$a . "\n";
print "++b = ". ++\$b . "\n";
print "++c = ". ++\$c . "\n";
print "++d = ". ++\$d . "\n";

try out that code and see what I mean. Note what happens to \$c when the numbers flip and notice that \$d goes poof. =)

Replies are listed 'Best First'.
Re: Answer: Why does \$string++ work the way it does?
by I0 (Priest) on Dec 26, 2000 at 05:23 UTC
"-1e3garg" + "+4ee3" #gives me -996, not 1004

Create A New User
Chatterbox?
and all is quiet...

How do I use this? | Other CB clients
Other Users?
Others imbibing at the Monastery: (8)
As of 2018-05-28 10:11 GMT
Sections?
Information?
Find Nodes?
Leftovers?
Voting Booth?
World peace can best be achieved by:

Results (199 votes). Check out past polls.

Notices?