Schrift
Wiki:Tipp zum Debugging: use Data::Dumper; local $Data::Dumper::Useqq = 1; print Dumper \@var;
[thread]6386[/thread]

RDW #1 - Rätsel der Woche Nummer eins (Seite 4)

Tags: Ähnliche Threads

Leser: 2


<< |< 1 2 3 4 5 6 7 ... 12 >| >> 113 Einträge, 12 Seiten
steve
 2004-07-11 23:50
#83984 #83984
User since
2004-03-04
52 Artikel
BenutzerIn
[default_avatar]
@ Crian meine Lösung nicht bekommen?

Dann poste ich mal selbst.

Die Funktion zum parsen und eintragen in einen Hash:

Code: (dl )
1
2
3
4
5
6
7
8
9
10
11
12
13
sub parse {
my ($dir, $ref) = @_;

foreach my $entry (<$dir$dt*>) {
my ($name) =($entry =~ m/.*\/(.+)?$/); # basename
if (-d $entry) {
$ref->{$name} = {};
parse($entry, $ref->{$name}); # Rekursion
} else {
$ref->{$name}++;
}
}
}



Und die Ausgabe, die ich mal selbst geschrieben hab. Habs halt ohne Module gemacht.

Code: (dl )
1
2
3
4
5
6
7
8
9
10
11
12
sub print_struct {
my ($ref,$depth) = @_;
$depth++; # Tiefe für Tabs
foreach my $entry (sort keys %{$ref}) {
if( (ref $ref->{$entry}) eq 'HASH') {
print "\t" x $depth, $entry, "\=\>\n";
print_struct($ref->{$entry}, $depth);
} else {
print "\t" x ($depth), $entry, "\n";
}
}
}


steve
Antworten mit Zitat
kabel
 2004-07-11 23:52
#83985 #83985
User since
2003-08-04
704 Artikel
BenutzerIn
[default_avatar]
[quote=Crian,11.07.2004, 20:58]Aber Du kannst es ja mal mit der Ackermannfunktion versuchen :-D[/quote]
fiese sache das :)
es muss gehen, da dein rechner ja auch nur iterativ arbeitet ... ;)
-- stefan
Antworten mit Zitat
Crian
 2004-07-11 23:58
#83986 #83986
User since
2003-08-04
5866 Artikel
ModeratorIn
[Homepage]
user image
>>> Lösung von pq <<<

>>> Lösung von sri <<<

>>> Sample-Lösung von Crian <<<
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
Antworten mit Zitat
Crian
 2004-07-12 00:00
#83987 #83987
User since
2003-08-04
5866 Artikel
ModeratorIn
[Homepage]
user image
@steve hast Du sie an die angegebene E-Mailadresse geschickt? Ist bei mir nicht angekommen.
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
Antworten mit Zitat
Ronnie
 2004-07-12 00:18
#83988 #83988
User since
2003-08-14
2022 Artikel
BenutzerIn
[default_avatar]
@crian: Ich hatte dir auch einen Entwurf geschickt. Der tat es zwar nicht ganz so wie er sollte (und ich weiß nicht wieso?). Ist der auch nicht angekommen?
Antworten mit Zitat
steve
 2004-07-12 00:21
#83989 #83989
User since
2004-03-04
52 Artikel
BenutzerIn
[default_avatar]
[quote=Crian,11.07.2004, 22:00]@steve hast Du sie an die angegebene E-Mailadresse geschickt? Ist bei mir nicht angekommen.[/quote]
ja hab ich. Heute morgen glaub ich.

steve
Antworten mit Zitat
Crian
 2004-07-12 00:23
#83990 #83990
User since
2003-08-04
5866 Artikel
ModeratorIn
[Homepage]
user image
Urgs? hat gmx ein Problem? (Wird dahin geforwarded [brrr]) Oder habt ihr die verklausulierte Adresse falsch verstanden? Oder bin ich blind?

Ich msg Euch nochmal die Mailadresse, möchte die hier nicht im Klartext hinschreiben.
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
Antworten mit Zitat
kabel
 2004-07-12 00:24
#83991 #83991
User since
2003-08-04
704 Artikel
BenutzerIn
[default_avatar]
hier noch ne lösung von mir:
Code (perl): (dl )
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
#!/usr/bin/perl
#
# baumrekursion mit Tie::Dir
#
use File::Spec;
use Data::Dumper;
use Tie::Dir;

sub scandir {
    my ($dir, $base) = @_;
    defined $base or $base = "";
    my %this_dir = ();
    my $abs_dir = File::Spec->catfile ($base, $dir);
    tie my %dir, Tie::Dir, $abs_dir;
    foreach (grep {not m/^(\.|\.\.)$/} keys %dir) {
        my $dirptr = File::Spec->catfile ($abs_dir, $_);
        -d $dirptr and $this_dir{$_} = {scandir ($_, $abs_dir)} or
        -f $dirptr and $this_dir{$_} = "";
    }
    untie %dir;
    return %this_dir;
}

my %dir = scandir (File::Spec->rel2abs (File::Spec->curdir ()));
print Dumper \%dir;


der tie ist sowas von unnötig :)

und wenn wir grad dabei sind: ich hab dir auch ne mail geschickt mit einer rdw-aufgabe; und noch keine antwort ...
-- stefan
Antworten mit Zitat
Crian
 2004-07-12 00:29
#83992 #83992
User since
2003-08-04
5866 Artikel
ModeratorIn
[Homepage]
user image
Ich hab Dir gerade ne pm geschickt und das Postfach kontrolliert. Ev. hast Du es an die falsche Adresse geschickt?

Schick, eine Lösung, die nochmal wieder anders ist =)\n\n

<!--EDIT|Crian|1089577767-->
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
Antworten mit Zitat
steve
 2004-07-12 00:34
#83993 #83993
User since
2004-03-04
52 Artikel
BenutzerIn
[default_avatar]
hi crian,

die Adresse war die richtige. Ist ja aber auch kein Weltuntergang. Aber schreib trotzdem ob die Mail angekommen ist! Wäre auch wichtig für mich.
Vielleicht ist es aber auch als Spam gefiltert worden? :0


steve
Antworten mit Zitat
<< |< 1 2 3 4 5 6 7 ... 12 >| >> 113 Einträge, 12 Seiten



View all threads created 2004-07-08 21:52.