Можно создать дубликат:
How do I tell if a variable has a numeric value in Perl?Как определить, является ли переменная числовой в Perl?
Я хочу, чтобы решить, является ли переменная (значение разобран из строки) является числом или нет. Как я могу это сделать? Ну, я думаю, /^[0-9]+$/
будет работать, но есть ли более элегантная версия?
Если вы настаиваете на регулярное выражение, получить его от Regexp :: Common :) –
И каждый из этих регулярных выражений, используемых в $ анкер позволяет новой строки в конце стоимость. Это ошибка в perlfaq4 (теперь я исправил документы, чтобы удалить эту ошибку), где появился пример Rosetta Code. Этот пример, однако, заключался в том, чтобы определить, какое это число, а не то, что это какой-то номер. –
Пожалуйста, исправьте меня, если я ошибаюсь, но мне кажется, что в конкретном случае проверки строго цифр (т. Е. Подмножества числовых, поскольку число может иметь десятичную точку и, возможно, отрицательный знак или даже положительный знак , а также запятые или какой-либо другой визуальный групповой символ, используемый для группировки символов в тройках для визуального чтения), тогда «/ \ D /» есть - где существуют строки, которые терпят неудачу только для теста с цифрами - всегда более эффективны, чем «/^\ d + $/", потому что"/\ D/"истинно при сканировании первого нецифрового символа. –