๐Ÿš€ go-pugleaf

RetroBBS NetNews Server

Inspired by RockSolid Light RIP Retro Guy

Thread View: de.comp.lang.perl
6 messages
6 total messages Started by Marcel Logen Mon, 09 Aug 2021 17:02
Math::Base::Convert, not a valid base
#23716
Author: Marcel Logen
Date: Mon, 09 Aug 2021 17:02
44 lines
1610 bytes
Beim Benutzen des Moduls "Math::Base::Convert" bekomme ich
folgende Fehlermeldung:

| t20$ ./base.pl
| not a valid base: 32 at ./base.pl line 6.

| t20$ cat base.pl
| #!/usr/bin/perl
| use warnings;
| use strict;
| use Math::Base::Convert qw( :all );
| my $extract1 = 'ofa' ; # dezimal: 25066
| my $extract2 = cnv($extract1,32,10);
| print $extract2 . "\n";
| # my $basemap = basemap(32);

Laut Beschreibung soll es mit Basen von 2 bis 65535 funk-
tionieren:

| DESCRIPTION
|        This module provides fast functions and methods to convert between
|        arbitrary number bases from 2 (binary) thru 65535.
|
[...]
|              $converted = cnv($number,10 => 23); # dec to base23
|              $converted = cnv($number,23 => 5);  # b23 to base5
|              etc...

Was mache ich flsach?

System: OpenBSD -current (24.07.)

| t20$ pkg_info p5-Math-Base-Convert
| Information for inst:p5-Math-Base-Convert-0.11p0
[...]
| WWW: https://metacpan.org/release/Math-Base-Convert

TIA fรผr Anregungen.

Marcel
--
        โ•ญโ”€โ”€โ•ฎ โ•ญโ”€โ•ฎ        โ•ญโ”€โ”€โ”€โ”€โ”€โ•ฎ    โ•ญโ”€โ•ฎ     โ•ญโ”€โ”€โ”€โ•ฎ    โ•ญโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ•ฎ  โ•ญโ”€โ”€โ”€โ”€โ”€โ”€
โ•ฎ  โ•ญโ”€โ•ฎ  โ”‚  โ•ฐโ”€โ•ฏ โ”‚   โ•ญโ”€โ•ฎ  โ•ฐโ”€โ”€โ•ฎ  โ•ฐโ”€โ”€โ”€โ”€โ•ฏ โ”‚   โ•ญโ”€โ•ฏ   โ•ฐโ”€โ•ฎ  โ•ฐโ”€โ•ฎ  โ•ญโ”€โ”€โ”€โ”€โ•ฏ  โ•ฐโ”€โ•ฎ
โ•ฐโ”€โ”€โ•ฏ โ•ฐโ”€โ”€โ•ฏ    โ•ญโ”€โ•ฏ โ•ญโ”€โ•ฏ โ•ฐโ”€โ”€โ”€โ”€โ”€โ•ฏ         โ”‚ โ•ญโ”€โ•ฏ     โ•ญโ”€โ•ฏ โ•ญโ”€โ”€โ•ฏ  โ•ฐโ”€โ”€โ”€โ”€โ”€โ”€โ•ฎ  โ•ฐโ”€โ•ฎ
             โ•ฐโ”€โ”€โ”€โ•ฏ                   โ•ฐโ”€โ•ฏ       โ•ฐโ”€โ”€โ”€โ•ฏ   1d823d   โ•ฐโ”€โ”€โ”€โ”€โ•ฏ
Re: Math::Base::Convert, not a valid base
#23717
Author: Marcel Logen
Date: Mon, 09 Aug 2021 17:14
52 lines
1898 bytes
Marcel Logen in de.comp.lang.perl:

>Beim Benutzen des Moduls "Math::Base::Convert" bekomme ich
>folgende Fehlermeldung:
>
>| t20$ ./base.pl
>| not a valid base: 32 at ./base.pl line 6.
>
>| t20$ cat base.pl
>| #!/usr/bin/perl
>| use warnings;
>| use strict;
>| use Math::Base::Convert qw( :all );
>| my $extract1 = 'ofa' ; # dezimal: 25066
>| my $extract2 = cnv($extract1,32,10);
>| print $extract2 . "\n";
>| # my $basemap = basemap(32);
>
>Laut Beschreibung soll es mit Basen von 2 bis 65535 funk-
>tionieren:
>
>| DESCRIPTION
>|        This module provides fast functions and methods to convert between
>|        arbitrary number bases from 2 (binary) thru 65535.
>|
>[...]
>|              $converted = cnv($number,10 => 23); # dec to base23
>|              $converted = cnv($number,23 => 5);  # b23 to base5
>|              etc...
>
>Was mache ich flsach?
>
>System: OpenBSD -current (24.07.)
>
>| t20$ pkg_info p5-Math-Base-Convert
>| Information for inst:p5-Math-Base-Convert-0.11p0
>[...]
>| WWW: https://metacpan.org/release/Math-Base-Convert
>
>TIA fรผr Anregungen.

Hm, das habe ich noch vergessen:

| t20$ perl --version | head -n 2
|
| This is perl 5, version 32, subversion 1 (v5.32.1) built for amd64-openbsd

Ingrid
--
 โ•ญโ”€โ•ฎ โ•ญโ”€โ•ฎ โ•ญโ”€โ•ฎ โ•ญโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ•ฎ   โ•ญโ”€โ”€โ•ฎ     โ•ญโ”€โ•ฎ โ•ญโ”€โ•ฎ         โ•ญโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€
 โ”‚ โ”‚ โ”‚ โ•ฐโ”€โ•ฏ โ•ฐโ”€โ•ฏ         โ”‚   โ”‚  โ•ฐโ”€โ”€โ”€โ”€โ”€โ•ฏ โ•ฐโ”€โ•ฏ โ•ฐโ”€โ•ฎ  โ•ญโ”€โ•ฎ  โ•ฐโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ•ฎ
 โ”‚ โ”‚ โ”‚    โ•ญโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ•ฏ โ•ญโ”€โ•ฏ           โ•ญโ”€โ”€โ”€โ”€โ•ฏ  โ”‚ โ•ฐโ”€โ•ฎ โ•ญโ”€โ”€โ”€โ”€โ•ฎ โ•ญโ”€โ•ฎ  โ•ฐโ”€โ•ฎ
โ”€โ•ฏ โ•ฐโ”€โ•ฏ    โ•ฐโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ•ฏ    94c4fb   โ•ฐโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ•ฏ   โ•ฐโ”€โ•ฏ    โ•ฐโ”€โ•ฏ โ•ฐโ”€โ”€โ”€โ”€โ•ฏ
Re: Math::Base::Convert, not a valid base
#23718
Author: Thomas Hochstein
Date: Mon, 09 Aug 2021 22:38
44 lines
1217 bytes
Marcel Logen schrieb:

> Laut Beschreibung soll es mit Basen von 2 bis 65535 funk-
> tionieren:
>
> | DESCRIPTION
> |        This module provides fast functions and methods to convert between
> |        arbitrary number bases from 2 (binary) thru 65535.
> |
> [...]
> |              $converted = cnv($number,10 => 23); # dec to base23
> |              $converted = cnv($number,23 => 5);  # b23 to base5
> |              etc...

Theoretisch ja.

> Was mache ich flsach?

Praktisch funktionieren nur die Zahlensysteme, die in der Doku
explizit aufgefรผhrt sind. Alle anderen musst Du selbst definieren:

|  For bases not included in the distribution you must create the base
|  map and pass it in.
<https://rt.cpan.org/Public/Bug/Display.html?id6813>

Versuch's mal so (eingefรผgte Zeilen mit "!" hervorgehoben):

| #!/usr/bin/perl
| use warnings;
| use strict;
| use Math::Base::Convert qw( :all );
| my $extract1 = 'ofa' ; # dezimal: 25066
! my @b32 = (0..9,'a'..'v');
! my $bc = new Math::Base::Convert(\@b32,10);
! my $extract2 = $bc->cnv($extract1);
| #my $extract2 = cnv($extract1,32,10);
| print $extract2 . "\n";
| # my $basemap = basemap(32);

Ergebnis:
| thh@thangorodrim $ ./base.pl
| 25066

GrรผรŸe,
-thh
Re: Math::Base::Convert, not a valid base
#23719
Author: Marcel Logen
Date: Mon, 09 Aug 2021 23:15
27 lines
1337 bytes
Thomas Hochstein in de.comp.lang.perl:

>Praktisch funktionieren nur die Zahlensysteme, die in der Doku
>explizit aufgefรผhrt sind. Alle anderen musst Du selbst definieren:

Ja, das hatte ich mir auch schon gedacht ('0'..'9','a'..'v'),
wuรŸte aber nicht, wie ich das realisieren konnte.

Deshalb habe ich dann endlich die Umrechnung ohne das Modul
mit eigenem Perl-Code vorgenommen.

>|  For bases not included in the distribution you must create the base
>|  map and pass it in.
><https://rt.cpan.org/Public/Bug/Display.html?id6813>

Das ist aber IMHO ziemlich bescheuert. Hรคtte man ja auch
in die man page schreiben kรถnnen.

>Versuch's mal so (eingefรผgte Zeilen mit "!" hervorgehoben):

Danke, funktioniert hier auch!

Marcel
--
                               โ•ญโ”€โ”€โ”€โ”€โ”€โ•ฎ      โ•ญโ”€โ”€โ”€โ”€โ”€โ”€โ•ฎ โ•ญโ”€โ•ฎ    โ•ญโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€
                           โ•ญโ”€โ”€โ”€โ•ฏ  โ•ญโ”€โ”€โ•ฏ      โ•ฐโ”€โ”€โ•ฎ   โ•ฐโ”€โ•ฏ โ•ฐโ”€โ•ฎ  โ•ฐโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ•ฎ
โ•ฎ      โ•ญโ”€โ”€โ”€โ•ฎ   โ•ญโ”€โ•ฎ  โ•ญโ”€โ”€โ”€โ•ฎ  โ”‚  โ•ญโ”€โ”€โ”€โ•ฏ โ•ญโ”€โ•ฎ   โ•ญโ”€โ”€โ”€โ”€โ•ฏ  โ•ญโ”€โ”€โ”€โ”€โ”€โ”€โ•ฏ  โ•ญโ”€โ”€โ•ฎ    โ•ญโ”€โ•ฏ
โ•ฐโ”€โ”€โ”€โ”€โ”€โ”€โ•ฏ   โ•ฐโ”€โ”€โ”€โ•ฏ โ•ฐโ”€โ”€โ•ฏ   โ•ฐโ”€โ”€โ•ฏ  โ•ฐโ”€โ”€โ”€โ”€โ”€โ•ฏ โ•ฐโ”€โ”€โ”€โ•ฏ e39534โ•ฐโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ•ฏ  โ•ฐโ”€โ”€โ”€โ”€โ•ฏ
Re: Math::Base::Convert, not a valid base
#23720
Author: Thomas Hochstein
Date: Mon, 09 Aug 2021 23:40
12 lines
465 bytes
Marcel Logen schrieb:

> Thomas Hochstein in de.comp.lang.perl:
> >|  For bases not included in the distribution you must create the base
> >|  map and pass it in.
> ><https://rt.cpan.org/Public/Bug/Display.html?id6813>
>
> Das ist aber IMHO ziemlich bescheuert. Hรคtte man ja auch
> in die man page schreiben kรถnnen.

Allerdings. - Ich hatte es vermutet, aber recht lange gebraucht, den
Eintrag zu finden (und dann, wie man "the base map" erzeugt und
รผbergibt).
Re: Math::Base::Convert, not a valid base
#23721
Author: Marcel Logen
Date: Tue, 10 Aug 2021 00:56
53 lines
2152 bytes
Thomas Hochstein in de.comp.lang.perl:

>Marcel Logen schrieb:
>> Thomas Hochstein in de.comp.lang.perl:

>> >|  For bases not included in the distribution you must create the base
>> >|  map and pass it in.
>> ><https://rt.cpan.org/Public/Bug/Display.html?id6813>
>>
>> Das ist aber IMHO ziemlich bescheuert. Hรคtte man ja auch
>> in die man page schreiben kรถnnen.
>
>Allerdings. - Ich hatte es vermutet, aber recht lange gebraucht, den
>Eintrag zu finden (und dann, wie man "the base map" erzeugt und
>รผbergibt).

Ich habe ein wenig mit Deinem Code experimentiert und
herausgefunden, daรŸ es auch ohne "->" geht:

| t20$ cat base-thh-mod.pl
| #!/usr/bin/perl
| use warnings;
| use strict;
| use Math::Base::Convert qw( :all );
| my $extract1 = 'vgi' ; # dezimal: 32274
| my @b32 = (0..9,'a'..'v');
| my $extract2 = cnv($extract1,[@b32],10);
| print $extract2 . "\n";
|
| my $basemap ;
| $basemap = basemap(\@b32);
| foreach (%{$basemap}) {print $_ . " "};
| print "\n" ;
|
| $basemap = basemap(dna);
| foreach (%{$basemap}) {print $_ . " "};
| print "\n" ;

| t20$ ./base-thh-mod.pl
| 32274
| o 24 h 17 n 23 0 0 d 13 3 3 f 15 c 12 5 5 v 31 2 2 6 6 u 30 q 26 b 11 7 7 t 29 a 10 g 16 r 27 i 18 1 1 4 4 k 20 p 25 m 22 9 9 l 21 e 14 j 19 8 8 s 28
| C 1 a 0 G 3 g 3 T 2 c 1 t 2 A 0

| t20$ ./base-thh-mod.pl
| 32274
| o 24 t 29 6 6 j 19 0 0 r 27 5 5 u 30 9 9 k 20 f 15 e 14 i 18 m 22 s 28 3 3 2 2 h 17 n 23 b 11 4 4 8 8 1 1 q 26 p 25 c 12 g 16 d 13 7 7 v 31 l 21 a 10
| A 0 G 3 C 1 a 0 T 2 t 2 c 1 g 3

Marcel
--
โ”€โ”€โ”€โ•ฎ            โ•ญโ”€โ”€โ”€โ”€โ”€โ”€โ•ฎ โ•ญโ”€โ•ฎ     โ•ญโ”€โ”€โ”€โ•ฎ              โ•ญโ”€โ•ฎ  โ•ญโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ•ฎ
 โ•ญโ”€โ•ฏ โ•ญโ”€โ•ฎ        โ•ฐโ”€โ”€โ•ฎ   โ•ฐโ”€โ•ฏ โ•ฐโ”€โ•ฎ   โ•ฐโ”€โ•ฎ โ•ฐโ”€โ”€โ•ฎ     โ•ญโ”€โ”€โ”€โ”€โ”€โ•ฏ โ”‚  โ•ฐโ”€โ”€โ”€โ”€โ”€โ•ฎ  โ•ญโ”€โ”€โ•ฏ
 โ”‚ โ•ญโ”€โ•ฏ โ•ฐโ”€โ”€โ•ฎ   โ•ญโ”€โ•ฎ  โ•ฐโ”€โ•ฎ    โ•ญโ”€โ”€โ•ฏ  โ•ญโ”€โ”€โ•ฏ  โ•ญโ”€โ•ฏ   โ•ญโ”€โ•ฏ  โ•ญโ”€โ”€โ”€โ”€โ•ฏ   โ•ญโ”€โ”€โ•ฎ โ”‚  โ•ฐโ”€โ”€โ”€โ•ฎ
 โ•ฐโ”€โ•ฏ      โ•ฐโ”€โ”€โ”€โ•ฏ โ•ฐโ”€โ”€โ”€โ”€โ•ฏ    โ•ฐโ”€โ”€โ”€โ”€โ”€โ•ฏ     โ•ฐโ”€โ”€โ”€โ”€โ”€โ•ฏ    โ•ฐโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ•ฏ  โ•ฐโ”€โ•ฏ3f9f0bโ•ฐโ”€
Thread Navigation

This is a paginated view of messages in the thread with full content displayed inline.

Messages are displayed in chronological order, with the original post highlighted in green.

Use pagination controls to navigate through all messages in large threads.

Back to All Threads