From: |
Stas Mishchenkov 2:460/5858 |
25 May 2020 00:04 +0300 |
To: |
Alexey Vissarionov 2:5020/545 |
|
Subject: |
имена файлов
|
*** Ответ на сообщение из _Carbon.Mail (Carbon.Mail).
Hi, Alexey!
23 май 20 14:23, Alexey Vissarionov -> Stas Mishchenkov:
SM>> На ntfs имена файлов хранятся в UTF-16, в консоль при этом винда
SM>> отдает их в cp1251. Если нужно создать список файлов в cp866, то
SM>> в именах файлов иногда встречается следующее:
SM>> cp1251: Ленинград - Ах уехала жена.mp3
SM>> cp866: Ленинград ? Ах уехала жена.mp3
SM>> Как правильно избежать такой ситуации,
AV> Да в общем-то ничего сложного...
SM>> ну, кроме переименования файлов, разумеется?
AV> Значит, никак.
Избежал. Спасибо. Подскажи лучше в линуксчайнмке.
Have nice nights.
Stas Mishchenkov.
From: |
Gennadij Pastuhov 2:5036/26 |
25 Apr 2020 23:07 +0300 |
To: |
Eugene Grosbein grosbein.net |
|
Subject: |
Что за фигня?
|
Рад всех приветствовать! А особенно - Eugene!
Суббота апреля 25 20 23:40 Eugene Grosbein писал к Gennadij Pastuhov:
GP>>>>>> Дано: хэш:
GP>>>>>> my $PRODUCTS = {
GP>>>>>> ssl_dv_geotrust => 'GeoTrust Standard DV SSL
GP>>>>>> Certificate',
GP>>>>>> ssl_dv_rapidssl => 'RapidSSL Standard DV SSL
GP>>>>>> Certificate',
GP>>>>>> ssl_dv_thawte => 'Thawte SSL123 DV',
GP>>>>>> };
GP>>>>>> Кусок кода:
GP>>>>>> for my $key (keys $result) {
GP>>>>>> print "\nkey:" . Dumper $key;
GP>>>>>> my ($product_name_id, $validity_years) =
GP>>>>>> split
GP>>>>>> '__', $key;
GP>>>>>> print
GP>>>>>> "\nproduct_name_id:'$product_name_id'\tvalidity_years:'$valid
GP>>>>>> it
GP>>>>>> y_
EG>>>>> years'";
GP>>>>>> if (defined $PRODUCTS->{$product_name_id}) {
GP>>>>>> ...
GP>>>>>> } else {
GP>>>>>> print "\nproduct_name_id:$product_name_id -- not found";
GP>>>>>> print "\nPRODUCTS:" . Dumper $PRODUCTS->{$product_name_id};
GP>>>>>> В $result хранится результат разjsonивания запроса. И этот
GP>>>>>> код
GP>>>>>> порождает такой лог:
EG>>> А тогда всё зависит от версии perl. Типа намёк.
GP>> $ perl -v
GP>> This is perl 5, version 14, subversion 2 (v5.14.2) built for
GP>> x86_64-linux-gnu-thread-multi
GP>> (with 89 registered patches, see perl -V for more detail)
EG> Это довольно старая версия perl и какие в ней были баги/особенности,
EG> сейчас тебе тут вряд ли кто ответит. Проще всего заменить
EG> весь твой диагностический вывод на один print Dumper($result)
EG> и поглядеть на него. Вывод в студию.
Без проблем. Но не весь, а только нужные строки, остальные аналогичные:
result:$VAR1 = {
'ssl_dv_thawte__2' => 10,
};
... Jonny wanna live
From: |
Alexey Vissarionov 2:5020/545 |
23 May 2020 14:23 +0300 |
To: |
Stas Mishchenkov 2:460/5858 |
|
Subject: |
имена файлов
|
Доброго времени суток, Stas!
23 May 2020 13:44:10, ты -> All:
SM> На ntfs имена файлов хранятся в UTF-16, в консоль при этом винда
SM> отдает их в cp1251. Если нужно создать список файлов в cp866, то
SM> в именах файлов иногда встречается следующее:
SM> cp1251: Ленинград - Ах уехала жена.mp3
SM> cp866: Ленинград ? Ах уехала жена.mp3
SM> Как правильно избежать такой ситуации,
Да в общем-то ничего сложного...
SM> ну, кроме переименования файлов, разумеется?
Значит, никак.
--
Alexey V. Vissarionov aka Gremlin from Kremlin
gremlin ПРИ gremlin ТЧК ru; +vii-cmiii-ccxxix-lxxix-xlii
... Овощ вам в помощь - в смысле, хрен с вами!
From: |
Kirill Breus 2:5020/2140.778 |
24 Feb 2020 15:34 +0200 |
To: |
Eugene Grosbein grosbein.net |
|
Subject: |
telegramm api
|
Здpавствуй, Eugene!
Пятница 21 Февраля 2020 19:46, ты писал(а) Stas Mishchenkov, в сообщении по
ссылке area://ru.perl?msgid=grosbein.net+a17e3e1f:
EG> 21 февр. 2020, пятница, в 13:43 NOVT, Stas Mishchenkov написал(а):
SM>> Вопрос с SSL в перле остался открытым.
EG> Hет такого понятия как "SSL в перле".
EG> Есть реализации SSL/TLS в разных C-библиотечках типа BoringSSL,
EG> OpenSSL, всякие GNU* и ещё есть разные перловые модули,
EG> которые могут использовать библиотечки C или
EG> даже реализовывать алгоритмы самостоятельно.
EG> И надо читать доку на используемые модули о том,
EG> как именно они работают с SSL/TLS.
EG> Eugene
EG> --- slrn/1.0.3 (FreeBSD)
EG> * Origin: RDTC JSC (2:5006/1@fidonet)
С уважением - Kirill
Path: f4.n466!f50.n466!f1042.n5020!f2140.n5020!not-for-mail
Newsgroups: ru.perl
Distribution: world
X-Comment-To: Eugene Grosbein
From: Kirill Breus
Date: Mon, 24 Feb 2020 14:34:44 +0100
Subject: Re: telegramm api
Message-ID: <1582547696@p778.f2140.n5020.z2.ftn>
References: <2709405215@grosbein.net>
Organization: Hеужели опять: яйца всмятку, котлеты, цыплята?
X-FTN-AREA: RU.PERL
X-FTN-REPLY: grosbein.net a17e3e1f
X-FTN-MSGID: 2:5020/2140.778 5e53c2f0
X-FTN-PID: GED-NSFW32 1.1.5-20090710
X-FTN-CHRS: CP866 2
X-FTN-TZUTC: 0200
X-FTN-TID: hpt/w32-mvcdll 1.4.0-sta 16-02-06
X-FTN-Tearline: -Пиши, старик, пиши! Мы тебя не покинем.
X-FTN-Origin: Hеужели опять: яйца всмятку, котлеты, цыплята? (2:5020/2140.778)
X-FTN-SEEN-BY: 50/109 250/25 450/1024 451/31 463/68 466/4 50 5000/111 5001/100
X-FTN-SEEN-BY: 5005/49 5010/352 5012/200 5015/42 46 5020/113 828 830 846 1042 2047
X-FTN-SEEN-BY: 5020/2140 2141 4441 5028/66 5030/115 5036/26 5049/1 162 5053/57
X-FTN-SEEN-BY: 5054/8 89 5055/37 5063/89 5064/56 5080/102 5083/1 444 6090/1
X-FTN-PATH: 5020/2140 1042 466/50
X-FTN-PATH: 466/4
Lines: 23
Здpавствуй, Eugene!
Пятница 21 Февраля 2020 19:46, ты писал(а) Stas Mishchenkov, в сообщении по
ссылке area://ru.perl?msgid=grosbein.net+a17e3e1f:
EG> 21 февр. 2020, пятница, в 13:43 NOVT, Stas Mishchenkov написал(а):
SM>> Вопрос с SSL в перле остался открытым.
EG> Hет такого понятия как "SSL в перле".
EG> Есть реализации SSL/TLS в разных C-библиотечках типа BoringSSL,
EG> OpenSSL, всякие GNU* и ещё есть разные перловые модули,
EG> которые могут использовать библиотечки C или
EG> даже реализовывать алгоритмы самостоятельно.
EG> И надо читать доку на используемые модули о том,
EG> как именно они работают с SSL/TLS.
EG> Eugene
EG> --- slrn/1.0.3 (FreeBSD)
EG> * Origin: RDTC JSC (2:5006/1@fidonet)
С уважением - Kirill
From: |
Michael Dukelsky 2:5020/1042 |
21 Jun 2020 14:08 +0300 |
To: |
All 2:5020/1042 |
|
Subject: |
unlink
|
Привет, Michael!
20 June 2020 19:11, Michael Dukelsky послал(а) письмо к All:
MD> Почему-то у меня unlink удаляет всё, даже файл, принадлежащий руту.
Дошло. Для удаления файла нужно разрешение на запись в каталог, потому что
удаление файла - это не запись в файл, а изменение каталога. Разрешения для
самого файла роли не играют.
Желаю успехов, Michael!
За сим откланиваюсь, Michael.
... node (at) f1042 (dot) ru
From: |
Eugene Grosbein grosbein.net |
25 Apr 2020 05:47 +0300 |
To: |
Gennadij Pastuhov 2:5036/26 |
|
Subject: |
Что за фигня?
|
24 апр. 2020, пятница, в 18:56 NOVT, Gennadij Pastuhov написал(а):
GP> Дано: хэш:
GP> my $PRODUCTS = {
GP> ssl_dv_geotrust => 'GeoTrust Standard DV SSL Certificate',
GP> ssl_dv_rapidssl => 'RapidSSL Standard DV SSL Certificate',
GP> ssl_dv_thawte => 'Thawte SSL123 DV',
GP> };
GP> Кусок кода:
GP> for my $key (keys $result) {
GP> print "\nkey:" . Dumper $key;
GP> my ($product_name_id, $validity_years) = split '__', $key;
GP> print
"\nproduct_name_id:'$product_name_id'\tvalidity_years:'$validity_years'";
GP> if (defined $PRODUCTS->{$product_name_id}) {
GP> ...
GP> } else {
GP> print "\nproduct_name_id:$product_name_id -- not found";
GP> print "\nPRODUCTS:" . Dumper $PRODUCTS->{$product_name_id};
GP> В $result хранится результат разjsonивания запроса. И этот код порождает
такой
GP> лог:
GP> key:$VAR1 = 'ssl_dv_thawte__2';
GP> product_name_id:'ssl_dv_thawte' validity_years:'2'
GP> product_name_id:ssl_dv_thawte -- not found
GP> PRODUCTS:$VAR1 = undef;
GP> Даже не представляю, куда копать. Если взять вот эти тексты и выполнить в
GP> скрипте, то всё работает. Т.е., как будто эти латинские буквы в работе
какие-то
GP> не те. Или меня глючит?
Вообще удивляюсь, что у тебя хоть что-то печатает,
потому что вызов keys $result некорректен и ты,
очевидно, не используешь use strict и use warnings,
которые обязательно нужно всегда использовать.
keys берёт аргументом хеш или список, а у тебя скаляр.
Добавляй use strict и use warnings, исправляй все ошибки
в коде, на которые они укажут и пробуй снова.
Eugene
--
Прекрасны тонко отшлифованная драгоценность; победитель, раненный в бою;
слон во время течки; река, высыхающая зимой; луна на исходе; юная женщина,
изнуренная наслаждением, и даятель, отдавший все нищим. (Дхарма)
From: |
Gennadij Pastuhov 2:5036/26 |
12 Mar 2020 20:30 +0200 |
To: |
Eugene Grosbein grosbein.net |
|
Subject: |
Net::DNS vs. dig
|
Рад всех приветствовать! А особенно - Eugene!
Четверг марта 12 20 23:09 Eugene Grosbein писал к Gennadij Pastuhov:
GP>> Требуется делать запросы к различным DNS серверам и сравнивать
GP>> полученные
GP>> ответы. Hасколько хорошо работает Net::DNS?
EG> Хорошо.
[ сожрали демоны ]
Огромное спасибо! А как кошерно сравнить индентичность записей?
Например, есть запись: '20 mx03.nicmail.ru.'
И с другого сервера: '20 mx03.nicmail.ru.'
Cплитить по \s и сравнивать массивы? Или есть некая общая каноничная форма?
В Net::DNS::RR не нашёл функции сравнения.
... Jonny wanna live
From: |
Eugene Grosbein grosbein.net |
13 Mar 2020 23:04 +0200 |
To: |
Gennadij Pastuhov 2:5036/26 |
|
Subject: |
Net::DNS vs. dig
|
13 марта 2020, пятница, в 15:04 NOVT, Gennadij Pastuhov написал(а):
GP> Там про это написано, что они есть только у мх, и про сравнение ни слова.
Решил
GP> делать сравнением массивов.
Дело модуля - вернуть тебе данные. Как ты их потом будешь
использовать - сравнивать или склеивать - уже логика твоего скрипта.
А что это за задача такая, сравнивать ответы от разных серверов?
Они вообще не обязаны быть идентичными, даже порядок элементов
в ответе может отличаться, так что сортируй перед сравнением.
Eugene
From: |
Eugene Grosbein grosbein.net |
19 Feb 2020 18:58 +0200 |
To: |
Stas Mishchenkov 2:460/5858 |
|
Subject: |
telegramm api
|
19 февр. 2020, среда, в 09:59 NOVT, Stas Mishchenkov написал(а):
SM>>> Hе ёрничай, а подскажи. Я сразу ssl заподозрил. Вопрос, - где
SM>>> править?
EG>> Ты ж так и не сподобился показать свой код,
EG>> кто ж тебе скажет, как его править. Типа намёк.
SM> #!/usr/bin/perl
SM> use Net::INET6Glue::INET_is_INET6;
SM> use WWW::Telegram::BotAPI;
SM> my $api = WWW::Telegram::BotAPI->new(
SM> # указываем токен вашего бота
SM> token => '*********************************************'
SM> );
SM> # получаем очередь сообщений. По умолчанию, отдается массив не более 100
SM> $api-> getUpdates();
SM> #Вот здесь и опадает.
А ты вообще пробовал читать документацию на модуль?
Про обработку ошибок через eval там написано, про метод parse_error,
про выставление env TELEGRAM_BOTAPI_DEBUG=1 перед запуском скрипта...
Eugene
--
И у священных источников живут алчные монахи. (Дхарма)
From: |
Eugene Grosbein grosbein.net |
21 Jun 2020 14:23 +0300 |
To: |
Michael Dukelsky 2:5020/1042 |
|
Subject: |
unlink
|
20 июня 2020, суббота, в 19:11 NOVT, Michael Dukelsky написал(а):
MD> Почему-то у меня unlink удаляет всё, даже файл, принадлежащий руту.
MD> Что я делаю не так?
Право на удаление файла по умолчанию это право записи в каталог.
Если ты имеешь право на запись в каталог - ты имеешь право
удалять в нём любые файлы независимо от их прав доступа и от
их владельцев.
Если ты хочешь, чтобы из каталога пользователь мог удалять
только собственные файлы, поставь на каталог sticky bit:
chmod +t dirname
И это не имеет отношения к Perl, это основы юникса.
Eugene