* [mdk-re] К знатокам perl
@ 2001-07-19 14:47 cornet
2001-07-19 14:56 ` [mdk-re] " Vlad Vostrykh
2001-07-19 15:08 ` Maxim Savrilov
0 siblings, 2 replies; 18+ messages in thread
From: cornet @ 2001-07-19 14:47 UTC (permalink / raw)
To: mandrake-russian
Hello всем!
Сорри за офтопик, но очень надо....
Есть прога на perl.
В проге по ходу работы, путем чтения строк из дискрипторов,
создаются _строковые_ переменные вида:
$string1="45493";
$string2="0";
$string3="0000043";
$string4="5601";
и тому подобные.
Эти строки символизируют собой _целые_десятичные_числа_ именно в
том виде как они в стрингах содержатся - 45443; 0; 43; 3404.
То есть, в них содержатся _только_ десятичные цыфры в различном
количестве. Это контролируется мной и отсекается ежели чего не
так.
Вопрос:
А как бы мне по простому преобразовать эти строки в десятичные
_числа_, что бы можно было поработать с ними в _числовом_
контексте операторами + - < > == != ++ и тому подобное?
Доки проштудированы - просветление отсутствует :-((
Заранее спасибо.
--
******** FIRE & STEEL ********
^ permalink raw reply [flat|nested] 18+ messages in thread
* [mdk-re] Re: [mdk-re] К знатокам perl
2001-07-19 14:47 [mdk-re] К знатокам perl cornet
@ 2001-07-19 14:56 ` Vlad Vostrykh
2001-07-19 15:03 ` Sergey Degtyaryov
2001-07-19 15:08 ` Maxim Savrilov
1 sibling, 1 reply; 18+ messages in thread
From: Vlad Vostrykh @ 2001-07-19 14:56 UTC (permalink / raw)
To: mandrake-russian
Привет.
Я далеко не знаток, но, сдается мне, умножение на 1 поможет:
dev > ./test.pl
876
876
999
dev > cat test.pl
#!/usr/bin/perl
$string1 = "876";
print $string1."\n";
$string1 = $string1*1;
print $string1."\n";
$string1 = $string1 + 123;
print $string1."\n";
dev >
WBR,
Vlad Vostrzkh
----- Original Message -----
From: "cornet" <cornet@zmail.ru>
To: <mandrake-russian@altlinux.ru>
Sent: Thursday, July 19, 2001 1:01 PM
Subject: [mdk-re] К знатокам perl
> Hello всем!
>
> Сорри за офтопик, но очень надо....
>
> Есть прога на perl.
> В проге по ходу работы, путем чтения строк из дискрипторов,
> создаются _строковые_ переменные вида:
> $string1="45493";
> $string2="0";
> $string3="0000043";
> $string4="5601";
> и тому подобные.
> Эти строки символизируют собой _целые_десятичные_числа_ именно в
> том виде как они в стрингах содержатся - 45443; 0; 43; 3404.
> То есть, в них содержатся _только_ десятичные цыфры в различном
> количестве. Это контролируется мной и отсекается ежели чего не
> так.
>
> Вопрос:
> А как бы мне по простому преобразовать эти строки в десятичные
> _числа_, что бы можно было поработать с ними в _числовом_
> контексте операторами + - < > == != ++ и тому подобное?
>
> Доки проштудированы - просветление отсутствует :-((
>
> Заранее спасибо.
>
> --
> ******** FIRE & STEEL ********
>
> _______________________________________________
> Mandrake-russian mailing list
> Mandrake-russian@altlinux.ru
> http://altlinux.ru/mailman/listinfo/mandrake-russian
>
^ permalink raw reply [flat|nested] 18+ messages in thread
* [mdk-re] Re: [mdk-re] К знатокам perl
2001-07-19 14:56 ` [mdk-re] " Vlad Vostrykh
@ 2001-07-19 15:03 ` Sergey Degtyaryov
0 siblings, 0 replies; 18+ messages in thread
From: Sergey Degtyaryov @ 2001-07-19 15:03 UTC (permalink / raw)
To: Vlad Vostrykh
Доброго времени суток, Vlad,
19.07.2001 в 15:10 Вы сказали буквально следующее:
VV> 999
dev >> cat test.pl
VV> #!/usr/bin/perl
VV> $string1 = "876";
VV> print $string1."\n";
VV> $string1 = $string1*1; # зачем?
VV> print $string1."\n"; # Ваш скрипт и так складывает
VV> $string1 = $string1 + 123;
VV> print $string1."\n";
dev >>
$a = "12345";
$b = "67890";
print $a+$b, "\n";
print ++$a, "\n";
Rgds, maga
^ permalink raw reply [flat|nested] 18+ messages in thread
* Re: [mdk-re] К знатокам perl
2001-07-19 14:47 [mdk-re] К знатокам perl cornet
2001-07-19 14:56 ` [mdk-re] " Vlad Vostrykh
@ 2001-07-19 15:08 ` Maxim Savrilov
2001-07-19 15:30 ` cornet
1 sibling, 1 reply; 18+ messages in thread
From: Maxim Savrilov @ 2001-07-19 15:08 UTC (permalink / raw)
To: mandrake-russian
cornet wrote:
> Hello всем!
>
> Сорри за офтопик, но очень надо....
>
> Есть прога на perl.
> В проге по ходу работы, путем чтения строк из дискрипторов,
> создаются _строковые_ переменные вида:
>
> Вопрос:
> А как бы мне по простому преобразовать эти строки в десятичные
> _числа_, что бы можно было поработать с ними в _числовом_
> контексте операторами + - < > == != ++ и тому подобное?
а все это автоматически происходит.
поэтому после перла происходит ломка при программировании на С ;)
--
3rd Law of Computing:
Anything that can go wr
fortune: Segmentation violation -- Core dumped
Novocybersk, отделение системного администрирования
Новосибирск, проспект К. Маркса-20, корпус 1, палата 310.
тел. (383-2) 46-13-84 (31-19)
--
^ permalink raw reply [flat|nested] 18+ messages in thread
* Re: [mdk-re] К знатокам perl
2001-07-19 15:08 ` Maxim Savrilov
@ 2001-07-19 15:30 ` cornet
2001-07-19 15:40 ` [mdk-re] Re[2]: " Sergey Degtyaryov
` (2 more replies)
0 siblings, 3 replies; 18+ messages in thread
From: cornet @ 2001-07-19 15:30 UTC (permalink / raw)
To: mandrake-russian
Maxim Savrilov wrote:
>
> cornet wrote:
>
> > Hello всем!
> >
> > Сорри за офтопик, но очень надо....
> >
> > Есть прога на perl.
> > В проге по ходу работы, путем чтения строк из дискрипторов,
> > создаются _строковые_ переменные вида:
> >
> > Вопрос:
> > А как бы мне по простому преобразовать эти строки в десятичные
> > _числа_, что бы можно было поработать с ними в _числовом_
> > контексте операторами + - < > == != ++ и тому подобное?
>
> а все это автоматически происходит.
> поэтому после перла происходит ломка при программировании на С ;)
У меня наоборот, я раньше писал на С, и теперь в перле часто не
врубаюсь во многие допущения и умолчания :-))
Я почему спрашиваю, потому, что вся эта автоматика работает не
очень то корректно!
Например, == дает ложь если сравниваемые стринги например 00023 и
23 что криво :-/
Местами в результатах остаются первые незначащие нули...
Одним словом - работая со стрингами как с числами - никогда не
знаешь на какие грабли в какой момент напорешься :-((
--
******** FIRE & STEEL ********
^ permalink raw reply [flat|nested] 18+ messages in thread
* [mdk-re] Re[2]: [mdk-re] К знатокам perl
2001-07-19 15:30 ` cornet
@ 2001-07-19 15:40 ` Sergey Degtyaryov
2001-07-19 16:00 ` [mdk-re] " Dmitri D. Sayakin
` (2 more replies)
2001-07-19 15:49 ` [mdk-re] Re: [mdk-re] К знатокам perl Dmitri D. Sayakin
2001-07-19 16:06 ` [mdk-re] " Maxim Savrilov
2 siblings, 3 replies; 18+ messages in thread
From: Sergey Degtyaryov @ 2001-07-19 15:40 UTC (permalink / raw)
To: cornet
Доброго времени суток, cornet,
19.07.2001 в 15:44 Вы сказали буквально следующее:
c> Например, == дает ложь если сравниваемые стринги например 00023 и
c> 23 что криво :-/
Странно.
$a = "00023";
$b = "23";
print "Thatz all. Have fun\n" if ($a == $b)
Отдает ожидаемый результат.
Rgds, maga
^ permalink raw reply [flat|nested] 18+ messages in thread
* [mdk-re] Re: [mdk-re] К знатокам perl
2001-07-19 15:30 ` cornet
2001-07-19 15:40 ` [mdk-re] Re[2]: " Sergey Degtyaryov
@ 2001-07-19 15:49 ` Dmitri D. Sayakin
2001-07-19 16:00 ` cornet
2001-07-19 16:06 ` [mdk-re] " Maxim Savrilov
2 siblings, 1 reply; 18+ messages in thread
From: Dmitri D. Sayakin @ 2001-07-19 15:49 UTC (permalink / raw)
To: mandrake-russian
On Thu, 19 Jul 2001 15:44:41 +0400
cornet <cornet@zmail.ru> wrote:
C> У меня наоборот, я раньше писал на С, и теперь в перле часто не
C> врубаюсь во многие допущения и умолчания :-))
Попробуйте писать на Python... Язык проще и строже.
For All: Просьба не затевать Language War!
^ permalink raw reply [flat|nested] 18+ messages in thread
* Re: [mdk-re] Re: [mdk-re] К знатокам perl
2001-07-19 15:49 ` [mdk-re] Re: [mdk-re] К знатокам perl Dmitri D. Sayakin
@ 2001-07-19 16:00 ` cornet
2001-07-19 17:18 ` [mdk-re] " Dmitri D. Sayakin
0 siblings, 1 reply; 18+ messages in thread
From: cornet @ 2001-07-19 16:00 UTC (permalink / raw)
To: mandrake-russian
"Dmitri D. Sayakin" wrote:
>
> On Thu, 19 Jul 2001 15:44:41 +0400
> cornet <cornet@zmail.ru> wrote:
>
> C> У меня наоборот, я раньше писал на С, и теперь в перле часто не
> C> врубаюсь во многие допущения и умолчания :-))
> Попробуйте писать на Python... Язык проще и строже.
Давно собираюсь, да все времени нету что бы сесть и спокойно
разобраться от основ :-((
> For All: Просьба не затевать Language War!
Да уж, пожалуйста :-))
--
******** FIRE & STEEL ********
^ permalink raw reply [flat|nested] 18+ messages in thread
* [mdk-re] Re: К знатокам perl
2001-07-19 15:40 ` [mdk-re] Re[2]: " Sergey Degtyaryov
@ 2001-07-19 16:00 ` Dmitri D. Sayakin
2001-07-19 16:07 ` cornet
2001-07-19 16:02 ` [mdk-re] Re[2]: [mdk-re] " cornet
2001-07-19 16:05 ` [mdk-re] Re[2]: [mdk-re] Ê çíàòîêàì perl belanov
2 siblings, 1 reply; 18+ messages in thread
From: Dmitri D. Sayakin @ 2001-07-19 16:00 UTC (permalink / raw)
To: mandrake-russian
On Thu, 19 Jul 2001 15:54:48 +0400
Sergey Degtyaryov <maga@globetravel.spb.ru> wrote:
c>> Например, == дает ложь если сравниваемые стринги например 00023 и
c>> 23 что криво :-/
А функцию int() (и строгие преобразования вообще) использовать не пробовали?
^ permalink raw reply [flat|nested] 18+ messages in thread
* Re: [mdk-re] Re[2]: [mdk-re] К знатокам perl
2001-07-19 15:40 ` [mdk-re] Re[2]: " Sergey Degtyaryov
2001-07-19 16:00 ` [mdk-re] " Dmitri D. Sayakin
@ 2001-07-19 16:02 ` cornet
2001-07-19 16:10 ` Sergey Degtyaryov
2001-07-19 16:05 ` [mdk-re] Re[2]: [mdk-re] Ê çíàòîêàì perl belanov
2 siblings, 1 reply; 18+ messages in thread
From: cornet @ 2001-07-19 16:02 UTC (permalink / raw)
To: mandrake-russian
Sergey Degtyaryov wrote:
>
> Доброго времени суток, cornet,
>
> 19.07.2001 в 15:44 Вы сказали буквально следующее:
>
> c> Например, == дает ложь если сравниваемые стринги например 00023 и
> c> 23 что криво :-/
>
> Странно.
> $a = "00023";
> $b = "23";
> print "Thatz all. Have fun\n" if ($a == $b)
>
> Отдает ожидаемый результат.
>
Еще раз проверил - Вы правы, эт я че то к концу дня совсем
завял... жарко очень.
В целом я понял. С лишними нулями буду бороться регулярными
выражениями, а в остальном пойдет и работа прямо со стрингами.
Всем спасибо!
:-))
--
******** FIRE & STEEL ********
^ permalink raw reply [flat|nested] 18+ messages in thread
* Re: [mdk-re] Re[2]: [mdk-re] Ê çíàòîêàì perl
2001-07-19 15:40 ` [mdk-re] Re[2]: " Sergey Degtyaryov
2001-07-19 16:00 ` [mdk-re] " Dmitri D. Sayakin
2001-07-19 16:02 ` [mdk-re] Re[2]: [mdk-re] " cornet
@ 2001-07-19 16:05 ` belanov
2 siblings, 0 replies; 18+ messages in thread
From: belanov @ 2001-07-19 16:05 UTC (permalink / raw)
To: mandrake-russian
для сравнения текстовых и числовых значений существуют
различные операторы. Напр., == это числовое сравнение,
а eq текстовое. Естественно что если к одним и тем же переменным
применить == и eq то результаты могут быть разные.
>
> c> Например, == дает ложь если сравниваемые стринги например 00023 и
> c> 23 что криво :-/
>
> Странно.
> $a = "00023";
> $b = "23";
> print "Thatz all. Have fun\n" if ($a == $b)
>
> Отдает ожидаемый результат.
^ permalink raw reply [flat|nested] 18+ messages in thread
* Re: [mdk-re] К знатокам perl
2001-07-19 15:30 ` cornet
2001-07-19 15:40 ` [mdk-re] Re[2]: " Sergey Degtyaryov
2001-07-19 15:49 ` [mdk-re] Re: [mdk-re] К знатокам perl Dmitri D. Sayakin
@ 2001-07-19 16:06 ` Maxim Savrilov
2 siblings, 0 replies; 18+ messages in thread
From: Maxim Savrilov @ 2001-07-19 16:06 UTC (permalink / raw)
To: mandrake-russian
cornet wrote:
> Maxim Savrilov wrote:
> >
> > cornet wrote:
> >
> > > Hello всем!
> > >
> > > Сорри за офтопик, но очень надо....
> > >
> > > Есть прога на perl.
> > > В проге по ходу работы, путем чтения строк из дискрипторов,
> > > создаются _строковые_ переменные вида:
> > >
> > > Вопрос:
> > > А как бы мне по простому преобразовать эти строки в десятичные
> > > _числа_, что бы можно было поработать с ними в _числовом_
> > > контексте операторами + - < > == != ++ и тому подобное?
> >
> > а все это автоматически происходит.
> > поэтому после перла происходит ломка при программировании на С ;)
>
> У меня наоборот, я раньше писал на С, и теперь в перле часто не
> врубаюсь во многие допущения и умолчания :-))
Я тоже. Это я ктому, что перл и иже с ними развращают в определенном
смысле ;)
> Я почему спрашиваю, потому, что вся эта автоматика работает не
> очень то корректно!
> Например, == дает ложь если сравниваемые стринги например 00023 и
> 23 что криво :-/
а если if($var1+1==$var2+1)? ;)
perl делает приведение типов скорее всего, при каких-то операциях по
модификации переменных.
> Местами в результатах остаются первые незначащие нули...
вот это не знаю, может просто переменная не использвалась после
присвоения ей значения?
> Одним словом - работая со стрингами как с числами - никогда не
> знаешь на какие грабли в какой момент напорешься :-((
зато с текстом - ляля
--
Если вы помогли другу в беде, он наверняка вспомнит о вас, когда снова окажется в беде.
Novocybersk, отделение системного администрирования
Новосибирск, проспект К. Маркса-20, корпус 1, палата 310.
тел. (383-2) 46-13-84 (31-19)
--
^ permalink raw reply [flat|nested] 18+ messages in thread
* Re: [mdk-re] Re: К знатокам perl
2001-07-19 16:00 ` [mdk-re] " Dmitri D. Sayakin
@ 2001-07-19 16:07 ` cornet
2001-07-19 17:24 ` [mdk-re] " Dmitri D. Sayakin
0 siblings, 1 reply; 18+ messages in thread
From: cornet @ 2001-07-19 16:07 UTC (permalink / raw)
To: mandrake-russian
"Dmitri D. Sayakin" wrote:
>
> On Thu, 19 Jul 2001 15:54:48 +0400
> Sergey Degtyaryov <maga@globetravel.spb.ru> wrote:
> c>> Например, == дает ложь если сравниваемые стринги например 00023 и
> c>> 23 что криво :-/
> А функцию int() (и строгие преобразования вообще) использовать не пробовали?
Так это же целая часть числа, а они у меня изначально только
целые :-))
А вот на счет строгих преобразований - так вопрос как раз об этом
и был! Как?
--
******** FIRE & STEEL ********
^ permalink raw reply [flat|nested] 18+ messages in thread
* [mdk-re] Re[2]: [mdk-re] К знатокам perl
2001-07-19 16:02 ` [mdk-re] Re[2]: [mdk-re] " cornet
@ 2001-07-19 16:10 ` Sergey Degtyaryov
0 siblings, 0 replies; 18+ messages in thread
From: Sergey Degtyaryov @ 2001-07-19 16:10 UTC (permalink / raw)
To: cornet
Доброго времени суток, cornet,
19.07.2001 в 16:17 Вы сказали буквально следующее:
c> В целом я понял. С лишними нулями буду бороться регулярными
c> выражениями, а в остальном пойдет и работа прямо со стрингами.
Для работы с переменными как со строками и как с числами надо
применять различные операторы\функции, вот и все.
А для борьбы с незначащими нулями подходит int.
Rgds, maga
^ permalink raw reply [flat|nested] 18+ messages in thread
* [mdk-re] Re: К знатокам perl
2001-07-19 16:00 ` cornet
@ 2001-07-19 17:18 ` Dmitri D. Sayakin
2001-07-19 17:55 ` cornet
0 siblings, 1 reply; 18+ messages in thread
From: Dmitri D. Sayakin @ 2001-07-19 17:18 UTC (permalink / raw)
To: mandrake-russian
On Thu, 19 Jul 2001 16:14:52 +0400
cornet <cornet@zmail.ru> wrote:
C> "Dmitri D. Sayakin" wrote:
>> Попробуйте писать на Python... Язык проще и строже.
C> Давно собираюсь, да все времени нету что бы сесть и спокойно
C> разобраться от основ :-((
При среднем языковом бэкграунде для начала Вам хватит часа для освоения основ.
Нужные модули осваиваемы за неделю. Посто нужно раз сесть - потом затянет.
^ permalink raw reply [flat|nested] 18+ messages in thread
* [mdk-re] Re: [mdk-re] Re: К знатокам perl
2001-07-19 16:07 ` cornet
@ 2001-07-19 17:24 ` Dmitri D. Sayakin
2001-07-19 17:52 ` cornet
0 siblings, 1 reply; 18+ messages in thread
From: Dmitri D. Sayakin @ 2001-07-19 17:24 UTC (permalink / raw)
To: mandrake-russian
On Thu, 19 Jul 2001 16:21:10 +0400
cornet <cornet@zmail.ru> wrote:
C> "Dmitri D. Sayakin" wrote:
>> А функцию int() (и строгие преобразования вообще) использовать не
пробовали?
C> Так это же целая часть числа, а они у меня изначально только
C> целые :-))
А целая часть заданного строкой целого числа и будет искомым целым числом,
подходящим для сравнения с другими целыми числами, заданными в виде чисел...
$-)
^ permalink raw reply [flat|nested] 18+ messages in thread
* Re: [mdk-re] Re: [mdk-re] Re: К знатокам perl
2001-07-19 17:24 ` [mdk-re] " Dmitri D. Sayakin
@ 2001-07-19 17:52 ` cornet
0 siblings, 0 replies; 18+ messages in thread
From: cornet @ 2001-07-19 17:52 UTC (permalink / raw)
To: mandrake-russian
"Dmitri D. Sayakin" wrote:
>
> On Thu, 19 Jul 2001 16:21:10 +0400
> cornet <cornet@zmail.ru> wrote:
>
> C> "Dmitri D. Sayakin" wrote:
> >> А функцию int() (и строгие преобразования вообще) использовать не
> пробовали?
>
> C> Так это же целая часть числа, а они у меня изначально только
> C> целые :-))
> А целая часть заданного строкой целого числа и будет искомым целым числом,
> подходящим для сравнения с другими целыми числами, заданными в виде чисел...
> $-)
О! Сеньк, об этом я как то и не подумал :-))
--
******** FIRE & STEEL ********
^ permalink raw reply [flat|nested] 18+ messages in thread
* Re: [mdk-re] Re: К знатокам perl
2001-07-19 17:18 ` [mdk-re] " Dmitri D. Sayakin
@ 2001-07-19 17:55 ` cornet
0 siblings, 0 replies; 18+ messages in thread
From: cornet @ 2001-07-19 17:55 UTC (permalink / raw)
To: mandrake-russian
"Dmitri D. Sayakin" wrote:
>
> On Thu, 19 Jul 2001 16:14:52 +0400
> cornet <cornet@zmail.ru> wrote:
>
> C> "Dmitri D. Sayakin" wrote:
> >> Попробуйте писать на Python... Язык проще и строже.
>
> C> Давно собираюсь, да все времени нету что бы сесть и спокойно
> C> разобраться от основ :-((
>
> При среднем языковом бэкграунде для начала Вам хватит часа для освоения основ.
>
> Нужные модули осваиваемы за неделю. Посто нужно раз сесть - потом затянет.
Понял :-)
В следующий раз как захочу чонть легенькое сбацать - попробую
Питона. А тяжеголо я и не пишу никогда - не та специализация :-)
--
******** FIRE & STEEL ********
^ permalink raw reply [flat|nested] 18+ messages in thread
end of thread, other threads:[~2001-07-19 17:55 UTC | newest]
Thread overview: 18+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2001-07-19 14:47 [mdk-re] К знатокам perl cornet
2001-07-19 14:56 ` [mdk-re] " Vlad Vostrykh
2001-07-19 15:03 ` Sergey Degtyaryov
2001-07-19 15:08 ` Maxim Savrilov
2001-07-19 15:30 ` cornet
2001-07-19 15:40 ` [mdk-re] Re[2]: " Sergey Degtyaryov
2001-07-19 16:00 ` [mdk-re] " Dmitri D. Sayakin
2001-07-19 16:07 ` cornet
2001-07-19 17:24 ` [mdk-re] " Dmitri D. Sayakin
2001-07-19 17:52 ` cornet
2001-07-19 16:02 ` [mdk-re] Re[2]: [mdk-re] " cornet
2001-07-19 16:10 ` Sergey Degtyaryov
2001-07-19 16:05 ` [mdk-re] Re[2]: [mdk-re] Ê çíàòîêàì perl belanov
2001-07-19 15:49 ` [mdk-re] Re: [mdk-re] К знатокам perl Dmitri D. Sayakin
2001-07-19 16:00 ` cornet
2001-07-19 17:18 ` [mdk-re] " Dmitri D. Sayakin
2001-07-19 17:55 ` cornet
2001-07-19 16:06 ` [mdk-re] " Maxim Savrilov
ALT Linux Community general discussions
This inbox may be cloned and mirrored by anyone:
git clone --mirror http://lore.altlinux.org/community/0 community/git/0.git
# If you have public-inbox 1.1+ installed, you may
# initialize and index your mirror using the following commands:
public-inbox-init -V2 community community/ http://lore.altlinux.org/community \
mandrake-russian@linuxteam.iplabs.ru community@lists.altlinux.org community@lists.altlinux.ru community@lists.altlinux.com
public-inbox-index community
Example config snippet for mirrors.
Newsgroup available over NNTP:
nntp://lore.altlinux.org/org.altlinux.lists.community
AGPL code for this site: git clone https://public-inbox.org/public-inbox.git