Perl не видит hex-число в кавычках
Правила форума
Убедительная просьба юзать теги [code] при оформлении листингов.
Сообщения не оформленные должным образом имеют все шансы быть незамеченными.
Убедительная просьба юзать теги [code] при оформлении листингов.
Сообщения не оформленные должным образом имеют все шансы быть незамеченными.
-
- проходил мимо
- Сообщения: 4
- Зарегистрирован: 2009-06-11 22:43:13
Perl не видит hex-число в кавычках
Как заставить PERL воспринять в виде числа строку '0xff112233' ?
При попытке распечатать её через printf("%x") или "%d" выводится ноль!
При попытке распечатать её через printf("%x") или "%d" выводится ноль!
Услуги хостинговой компании Host-Food.ru
Тарифы на хостинг в России, от 12 рублей: https://www.host-food.ru/tariffs/hosting/
Тарифы на виртуальные сервера (VPS/VDS/KVM) в РФ, от 189 руб.: https://www.host-food.ru/tariffs/virtualny-server-vps/
Выделенные сервера, Россия, Москва, от 2000 рублей (HP Proliant G5, Intel Xeon E5430 (2.66GHz, Quad-Core, 12Mb), 8Gb RAM, 2x300Gb SAS HDD, P400i, 512Mb, BBU):
https://www.host-food.ru/tariffs/vydelennyi-server-ds/
Недорогие домены в популярных зонах: https://www.host-food.ru/domains/
Тарифы на виртуальные сервера (VPS/VDS/KVM) в РФ, от 189 руб.: https://www.host-food.ru/tariffs/virtualny-server-vps/
Выделенные сервера, Россия, Москва, от 2000 рублей (HP Proliant G5, Intel Xeon E5430 (2.66GHz, Quad-Core, 12Mb), 8Gb RAM, 2x300Gb SAS HDD, P400i, 512Mb, BBU):
https://www.host-food.ru/tariffs/vydelennyi-server-ds/
Недорогие домены в популярных зонах: https://www.host-food.ru/domains/
-
- полковник
- Сообщения: 5845
- Зарегистрирован: 2007-12-07 13:51:33
- Откуда: Верх-Нейвинск
Re: Perl не видит hex-число в кавычках
какбэ в двойных кавычках нада писатьIlya Evseev писал(а):Как заставить PERL воспринять в виде числа строку '0xff112233' ?

-
- сержант
- Сообщения: 191
- Зарегистрирован: 2008-07-10 7:28:37
- Откуда: Vladivostok
Re: Perl не видит hex-число в кавычках
или совсем бэз???zg писал(а):какбэ в двойных кавычках нада писатьIlya Evseev писал(а):Как заставить PERL воспринять в виде числа строку '0xff112233' ?
насколько я помню, хотя может и склероз подводит, в одинарных или двойных кавычках - это текстовая строка
а раз хочется
Код: Выделить всё
При попытке распечатать её через printf("%x") или "%d" выводится ноль!
машина думать не может, машина должна ехать
-
- проходил мимо
- Сообщения: 4
- Зарегистрирован: 2009-06-11 22:43:13
Re: Perl не видит hex-число в кавычках
Поясню вопрос.
У меня парсится строка из вывода команды ifconfig:
В $mask помещается "0xfffffff8", но при попытке использовать её в арифметических операциях
или при печати в цифровом формате она воспринимается как 0 (ноль).

У меня парсится строка из вывода команды ifconfig:
Код: Выделить всё
open N, "/sbin/ifconfig $iface_name |";
while(<N>) {
next unless /\s+inet (\d+\.\d+\.\d+\.\d+) netmask (0x[[:xdigit:]]+) broadcast (\d+\.\d+\.\d+\.\d+)$/;
my ($ip, $mask, $bcast) = ($1, $2, $3);
}
или при печати в цифровом формате она воспринимается как 0 (ноль).

- thefree
- лейтенант
- Сообщения: 980
- Зарегистрирован: 2008-12-29 9:23:19
- Откуда: Весёлая Страна
Re: Perl не видит hex-число в кавычках
Код: Выделить всё
open N, "/sbin/ifconfig $iface_name |";
while(<N>) {
next unless /\s+inet (\d+\.\d+\.\d+\.\d+) netmask (0x[[:xdigit:]]+) broadcast (\d+\.\d+\.\d+\.\d+)$/;
my ($ip, $mask, $bcast) = ($1, $2, $3);
printf("%d \n", eval($mask));
}
Не судите меня строго, Я не волшебник, а только учусь!
http://planetbsd.ru - RSS-агрегатор *BSD по Рунету
http://planetbsd.ru - RSS-агрегатор *BSD по Рунету
-
- проходил мимо
- Сообщения: 4
- Зарегистрирован: 2009-06-11 22:43:13
Re: Perl не видит hex-число в кавычках
Точно, eval() рулит. Thanx!