Schrift
[thread]6426[/thread]

RDW #3 - Rätsel der Woche Nr. 3 (Seite 6)

Tags: Ähnliche Threads

Leser: 1


<< |< 1 ... 3 4 5 6 7 8 >| >> 74 Einträge, 8 Seiten
Crian
 2004-07-26 19:01
#84859 #84859
User since
2003-08-04
5866 Artikel
ModeratorIn
[Homepage]
user image
[quote=Ronnie,26.07.2004, 16:50]Ich habe leider nicht rausgefunden wieso meine Lösung nicht mit Binärdateien funktioniert. Wenn einem von euch auffällt woran es liegt wüsste ich es sehr gerne.[/quote]
Probier es mal mit Esskars Schnippsel

Code: (dl )
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
if (defined $ARGV[0] and -f $ARGV[0])
{
if (open(my $fh, $ARGV[0]))
{
binmode $fh;
my $buffer;
my $len = 0;
while ($_ = read($fh, $buffer, 1024, $len)) { $len += $_ }
hexdump($buffer);
}
}
else
{
hexdump(<>);
}


statt

Code: (dl )
1
2
3
4
5
{
local $/;
binmode(STDIN);
$input = <>;
}
s--Pevna-;s.([a-z]).chr((ord($1)-84)%26+97).gee; s^([A-Z])^chr((ord($1)-52)%26+65)^gee;print;

use strict; use warnings; Link zu meiner Perlseite
kabel
 2004-07-26 19:11
#84860 #84860
User since
2003-08-04
704 Artikel
BenutzerIn
[default_avatar]
oh je ... das passiert, wenn man die laenge eines wortes auf 16 /normiert/ *g*
-- stefan
ptk
 2004-07-26 19:29
#84861 #84861
User since
2003-11-28
3645 Artikel
ModeratorIn
[default_avatar]
[quote=Crian,26.07.2004, 17:01]
Code: (dl )
1
2
3
4
5
{
local $/;
binmode(STDIN);
$input = <>;
}
[/quote]
Aus dem Bauch heraus wuerde ich sagen, dass man auch
Code: (dl )
local $/ = \1024; # oder irgendetwas anderes durch 16 teilbares

verwenden kann, um die Kuerze des Codes zu wahren.
Ronnie
 2004-07-26 19:40
#84862 #84862
User since
2003-08-14
2022 Artikel
BenutzerIn
[default_avatar]
Ich habe jetzt mal die esskar-Variante getestet, ändert leider nix am Ergebniss?!
Crian
 2004-07-26 19:56
#84863 #84863
User since
2003-08-04
5866 Artikel
ModeratorIn
[Homepage]
user image
Nanu?

Ich hab jetzt die Dateien auf den Server hochgeladen, die Links im Wiki müssten jetzt funktionieren. Wenn nicht bitte Bescheid geben.
s--Pevna-;s.([a-z]).chr((ord($1)-84)%26+97).gee; s^([A-Z])^chr((ord($1)-52)%26+65)^gee;print;

use strict; use warnings; Link zu meiner Perlseite
Ronnie
 2004-07-26 20:20
#84864 #84864
User since
2003-08-14
2022 Artikel
BenutzerIn
[default_avatar]
Ich habe es gefunden:
Code: (dl )
sub as_hex { return map { defined $_ ? sprintf("%02x", $_) : '  ' } @_ }

Das defined hat gefehlt.
Ishka
 2004-07-26 20:30
#84865 #84865
User since
2003-08-04
771 Artikel
HausmeisterIn
[Homepage] [default_avatar]
Jo, das mit den Fragezeichen bei meiner Lösung kommt daher, daß ich die Lösung abgeschickt hab, bevor gesagt wurde, was man mit den 'anderen' Zeichen machen soll ;)
sub z{if(@_){1while$x[$k=rand 10];t($t=$x[$k]=1)}print map"$z[$x[$_]]$_".($_%3?
"":"\n"),1..9}sub t{$j=0;$x[$_+1]==$t&&($j+=2**$_)for 0..8;z,die"Gewinner $z[$t]
"if grep$_==($j&$_),7,56,73,84,146,273,292,448;z,die"Gleichstand\n"if@x>9&&!grep
!$_,@x}@x=4;@z=qw{. [ (};z$^T&1;while(<>){next if$_>9||$x[$_];t$t=$x[$_]=2;z 1}
DS
 2004-07-26 22:42
#84866 #84866
User since
2003-08-04
247 Artikel
BenutzerIn
[default_avatar]
[quote=Crian,26.07.2004, 15:22]So, die Auswertung für Linux steht jetzt auch im Wiki, dort hatte ich hier Perl 5.8.1 und die beiden Lösungen von DS machen zu 100% genau das was sie sollen.

Die Golf-Lösung ist wesentlich kleiner als meine, dafür kann man meiner auch den Programmnamen geben. Insofern kann man sie schlecht vergleichen. Aber meine ist im Prinzip nur meine normale Lösung kompimiert :-)

Wäre nochmal interessant zu wissen, was gerade Perl 5.8.0 zu meckern hat. Und ob das ein Bug in Deinem Code oder in Perl 5.8.0 ist.[/quote]
Hm, es liegt an diesem Vektor-Teil: http://www.perldoc.com/perl5.8.4/pod/func/sprintf.html#vector-flag

In meinem Perl 5 kurz & gut Büchlein war das mit drin, also bin ich davon ausgegangen dass es ab 5.6 unterstützt wird, was bis auf 5.8.0 scheinbar auch der Fall ist.

Soll ich das mit dem Dateinamen via Parameter noch miteinbaun?
coax
 2004-07-26 23:23
#84867 #84867
User since
2003-08-11
457 Artikel
BenutzerIn
[default_avatar]
Bei meiner Loesung bekomm ich unter Linux (jedoch nicht unter Windows) folgende Fehlermeldungen:
Code: (dl )
1
2
3
4
5
6
7
8
9
10
11
Malformed UTF-8 character (unexpected continuation byte 0x89, with no preceding start byte) in substitution (s///) at hexdump.pl line 28, <> chunk 1.
Malformed UTF-8 character (unexpected continuation byte 0x97, with no preceding start byte) in substitution (s///) at hexdump.pl line 28, <> chunk 1.
Malformed UTF-8 character (unexpected continuation byte 0x97, with no preceding start byte) in substitution (s///) at hexdump.pl line 28, <> chunk 1.
Malformed UTF-8 character (unexpected non-continuation byte 0xe7, immediately after start byte 0xf7) in substitution (s///) at hexdump.pl line 28, <> chunk 1.
Malformed UTF-8 character (unexpected non-continuation byte 0xe7, immediately after start byte 0xf7) in substitution (s///) at hexdump.pl line 28, <> chunk 1.
Malformed UTF-8 character (unexpected non-continuation byte 0xe7, immediately after start byte 0xf7) in substitution (s///) at hexdump.pl line 28, <> chunk 1.
Malformed UTF-8 character (unexpected continuation byte 0x81, with no preceding start byte) in substitution (s///) at hexdump.pl line 28, <> chunk 1.
Malformed UTF-8 character (unexpected continuation byte 0x81, with no preceding start byte) in substitution (s///) at hexdump.pl line 28, <> chunk 1.
Malformed UTF-8 character (unexpected non-continuation byte 0x52, immediately after start byte 0xd7) in substitution (s///) at hexdump.pl line 28, <> chunk 1.
Malformed UTF-8 character (unexpected non-continuation byte 0x52, immediately after start byte 0xd7) in substitution (s///) at hexdump.pl line 28, <> chunk 1.
Malformed UTF-8 character (unexpected non-continuation byte 0x52, immediately after start byte 0xd7) in substitution (s///) at hexdump.pl line 28, <> chunk 1.


Den Code zu meiner Loesung wird Crian sicherlich spaeter erst ins Wiki packen koennen, weil meine Mail eben erst rausging.

Grusz coax.
,,Das perlt aber heute wieder...'' -- Dittsche
ptk
 2004-07-26 23:45
#84868 #84868
User since
2003-11-28
3645 Artikel
ModeratorIn
[default_avatar]
Mit grosser Wahrscheinlichkeit behebt
Code: (dl )
unset LANG
bzw. das Einfuegen von
Code: (dl )
binmode STDIN;
im Code das Problem und du hast RedHat 8.0 und perl-5.8.0. Liege ich richtig? :-)
<< |< 1 ... 3 4 5 6 7 8 >| >> 74 Einträge, 8 Seiten



View all threads created 2004-07-23 13:33.