Size: a a a

2020 January 05

AP

Anton Petrusevich in Modern::Perl
в общем, надо проследить за данными чтобы понять что именно не так. кстати, в настройках соединения есть pg_enable_utf8 => 1 ?
источник

VG

Vadim Goncharov in Modern::Perl
Someone Unknown 🇭🇷
Товарищи дорогие, напомните плиз, тот факт, что $w = rand * $val и $w = rand() * $val дают совершенно разные распределения — это какой-то очевидный прикол языка, про который я забыл, или у меня в коде фигня какая-то?
неочевидный, но обсуждалось - rand зохавывает *$val как аргумент себе
источник

MD

Mihail Dvornikov in Modern::Perl
Не помогло: $dbh = DBI->connect( "dbi:Pg:dbname=$base", $user, $passwd, { 'RaiseError' => '0', 'pg_enable_utf8' => 1 } );
Буду по шагам искать.
источник

TZ

Troll Zhuravlev in Modern::Perl
'pg_enable_utf8' => 1
должно спасать при новых записях, вроде
источник

VG

Vadim Goncharov in Modern::Perl
Anton Petrusevich
на самом деле, это какой-то современный перл, в более раннем у меня двойной декодинг ломался на некоторых симолах, как тут:
$ perl -MEncode -E '$a="пÑ\u0080имеÑ\u0080"; say decode("UTF-8", $a)'
п�0080име�0080
\u0080 эт не двоичный ноль проскочил?
источник

VT

Vasily Terkin in Modern::Perl
Это что-то из latin1
источник

VT

Vasily Terkin in Modern::Perl
источник

VG

Vadim Goncharov in Modern::Perl
там есть какая-то запрещенная комбинация, когда ноль в utf
источник

MD

Mihail Dvornikov in Modern::Perl
Заработало с pg_enable_utf8 => 0
источник

MD

Mihail Dvornikov in Modern::Perl
psql \l ==> "base | user | UTF8  | ru_RU.UTF-8 | ru_RU.UTF-8"
источник

AP

Anton Petrusevich in Modern::Perl
это немного не нормально :)
источник

AP

Anton Petrusevich in Modern::Perl
где-то в цепочке до базы лишний енкодинг
источник

SU

Someone Unknown 🇭🇷 in Modern::Perl
Anton Petrusevich
это немного не нормально :)
В доке говорят, что влияет только на возвращаемые данные, и только на установку флага is_utf8 на возвращаемую строку
источник

В

Вертолетчик in Modern::Perl
Какой нахрен перл, там такой матч идёт!
источник

VK

Vyacheslav Koval in Modern::Perl
Someone Unknown 🇭🇷
$ perl -e 'my $val=10;my $w=0;for(my $i=0;$i<1000;$i++){$w+=rand*$val}print($w/1000)'

0.492861023749036
$ perl -Mstrict -wE 'my $val=10;my $w=0;for(my $i=0;$i<1000;$i++){$w+=rand*$val}say($w/1000)'
Can't use string ("10") as a symbol ref while "strict refs" in use at -e line 1.

$ perl -MO=Deparse,-p -Mstrict -wE 'my $val=10;my $w=0;for(my $i=0;$i<1000;$i++){$w+=rand*$val}say($w/1000)'
BEGIN { $^W = 1; }
use strict;
use feature 'current_sub', 'bitwise', 'evalbytes', 'fc', 'postderef_qq', 'say', 'state', 'switch', 'unicode_strings', 'unicode_eval';
(my $val = 10);
(my $w = 0);
for ((my $i = 0); ($i < 1000); (++$i)) {
   ($w += rand(*$val));
}
say(($w / 1000));
-e syntax OK
источник

SU

Someone Unknown 🇭🇷 in Modern::Perl
Блин, вот вы верите, что я споткнулся об этот баг на пятый мать его день 2020 года?!

https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=915209
источник

IB

Ivan Bessarabov in Modern::Perl
Офигенный баг =)
источник

IB

Ivan Bessarabov in Modern::Perl
Радует что это баг был в тесте, а не в коде
источник

VT

Vasily Terkin in Modern::Perl

# Test timelocal() {
- my $year_in = $year < 70 ? $year + 1900 : $year;
+ my $year_in = $year + 1900;

О_о
источник

SU

Someone Unknown 🇭🇷 in Modern::Perl
Vasily Terkin

# Test timelocal() {
- my $year_in = $year < 70 ? $year + 1900 : $year;
+ my $year_in = $year + 1900;

О_о
Напоминает описание к обновлению Encode::MIME::Header — "это 10 лет работало хорошо, но неправильно, и теперь мы всё исправили, поэтому оно теперь не работает, и это правильно"
источник