This is right. Everything is a string until you do something that puts it into a numeric context. Here's a little trick that "deletes" leading zeroes.
#!/usr/bin/perl -w
use strict;
my $num="000123";
print "$num\n";
$num += 0;
print "$num\n";
_END_
prints:
000123
123
If you are say comparing things that are supposed to be numbers, then use the numeric compare rather than a string compare! Perl doesn't know "000123" is a number until you say it is. A <,>, etc. will trigger this numeric conversion. Just something to watch out for when you are doing sorts, etc. The ascii sort order is different than the numeric sort order, see this...
my $a="99";
my $b="111";
if ($a gt $b)
{print "$a is greater than $b";}
#prints 99 is greater than 111
|