Perl, сортировка строка/число
От: kvasya  
Дата: 31.05.11 10:02
Оценка:
Добрый день.

Как явно указать, что ключ хэша — число (переменная — число) ?

Пример:

my %table;
my $key = "11";
$table{$key} = "value";

my $key2 = 11;
$table{$key2} = "value";


нашел подобный пример в документации is_numeric, там используется strtol, но:
1. Будет ли это работать?
2. В версии под Win (v5.10.1) оно не работает с ошибкой "strtol is not defined in %posix::export_tags...":

use POSIX qw(:strtol);
my $tst = strtol( "1" );


Цель такая, из двух источников приходят ключи. Но с одного они идут в "произвольном" виде ("003", 3, "3"..), а со второго в виде чисел ( 1, 2, 3..).
Поэтому при помещении их в хэш, они интерпретируются как строки и "003" <> 3. Каковое поведение меня не устраивает.

Спасибо.
perl hash is_numeric
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.