Size: a a a

2021 April 01

SZ

Sergey Zhmylove in Modern::Perl
Venom1 2
то есть у меня есть число я его пихаю в json если я засуну туда как число он покажет с e-05 ме нужно чтобы он пказал 0.000123
Криво пихаешь, да?
источник

SZ

Sergey Zhmylove in Modern::Perl
@PerlBanjoBot $ perl -MJSON::PP=/./ -le 'print encode_json {orig => 434e-05, str => sprintf "%.10f", 434e-05}'
источник

P

PerlBanjoBot in Modern::Perl
Sergey Zhmylove
@PerlBanjoBot $ perl -MJSON::PP=/./ -le 'print encode_json {orig => 434e-05, str => sprintf "%.10f", 434e-05}'
{"str":"0.0043400000","orig":0.00434}
https://PerlBanjo.com/dc2c6de542
источник

V2

Venom1 2 in Modern::Perl
perl -e 'use JSON::XS qw(encode_json); $a=1/100000; print encode_json {a=>$a}'
источник

V2

Venom1 2 in Modern::Perl
perl -e 'use JSON::XS qw(encode_json); $a=1/10000; print encode_json {a=>$a}' без одного нуля уже как надо
источник

SZ

Sergey Zhmylove in Modern::Perl
@PerlBanjoBot $ perl -MJSON::PP=/./ -le 'print encode_json {orig => 1/100000, str => sprintf "%.10f", 1/100000}'
источник

P

PerlBanjoBot in Modern::Perl
Sergey Zhmylove
@PerlBanjoBot $ perl -MJSON::PP=/./ -le 'print encode_json {orig => 1/100000, str => sprintf "%.10f", 1/100000}'
{"orig":1e-05,"str":"0.0000100000"}
https://PerlBanjo.com/8acd252a95
источник

SZ

Sergey Zhmylove in Modern::Perl
@PerlBanjoBot $ perl -Mbignum -MJSON::PP=/./ -le 'print encode_json {orig => 1/100000, str => sprintf "%.10f", 1/100000}'
источник

P

PerlBanjoBot in Modern::Perl
Sergey Zhmylove
@PerlBanjoBot $ perl -Mbignum -MJSON::PP=/./ -le 'print encode_json {orig => 1/100000, str => sprintf "%.10f", 1/100000}'
encountered object '0.00001', but neither allow_blessed, convert_blessed nor allow_tags settings are enabled (or TO_JSON/FREEZE method missing) at -e line 1.
https://PerlBanjo.com/cc1c8f206b
источник

SZ

Sergey Zhmylove in Modern::Perl
LoL
источник

SZ

Sergey Zhmylove in Modern::Perl
Venom1 2
perl -e 'use JSON::XS qw(encode_json); $a=1/10000; print encode_json {a=>$a}' без одного нуля уже как надо
Впрочем, это всё равно не нарушает стандарт json. Считай, упаковал ;)
Так что, либо строки, либо научная нотация
источник

V2

Venom1 2 in Modern::Perl
Спасибо большое
источник

AP

Anton Petrusevich in Modern::Perl
$ perl -MJSON::PP=/./ -le 'print encode_json {orig => 1/100000, str => sprintf("%.10f", 1/100000) =~ s/(\.\d+?)0*$/$1/r}'
{"str":"0.00001","orig":1e-05}

$ perl -MJSON::PP=/./ -le 'print encode_json {orig => 1/100000, str => 0+(sprintf("%.10f", 1/100000) =~ s/(\.\d+?)0*$/$1/r)}'
{"str":1e-05,"orig":1e-05}
источник

ОМ

Ольга Мальцева... in Modern::Perl
всем привет. туплю нещадно как на перле написать сравнение ключей в двух словарях?
           if ((keys(%interfaces->{$port}->{'comp_cfg'})) == (keys(%interfaces->{$pair_port}->{'comp_cfg'})) ){

вот так меня скрипт не понял, хотя идеешка не ругается
источник

AP

Anton Petrusevich in Modern::Perl
надо посчитать разницу между ними
источник

AP

Anton Petrusevich in Modern::Perl
нет разницы — совпадают
источник

AP

Anton Petrusevich in Modern::Perl
%interfaces->{$pair_port} — так не бывает
источник

AP

Anton Petrusevich in Modern::Perl
либо $interfaces->{$pair_port}, либо $interfaces{$pair_port}, в зависимости от того, ссылка на хеш или сам хеш
источник

ОМ

Ольга Мальцева... in Modern::Perl
по идее сам хэш,
на запись к нему вот так обращаюсь
   foreach my $str_ifcfg (split(/\n/, $if_content)) {
     if ($str_ifcfg =~ m/^\s*((.*?)\s+vlan\s+(.*?))$/) {
       my $content_cfg = $1;
       my $key_cfg = $2;
       %interfaces->{$if_port}->{'comp_cfg'}->{$key_cfg} = $content_cfg;
     }
   }

работает
источник

VV

Vladimir Varlamov in Modern::Perl
%interfaces->{$if_po....
^— так не бывает
источник