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

Fehler beim Einbinden eines Modules: Ka wieso das so ist (Seite 5)

Leser: 3


<< |< 1 2 3 4 5 6 >| >> 59 Einträge, 6 Seiten
SirLant
 2003-08-20 01:41
#73667 #73667
User since
2003-08-04
516 Artikel
BenutzerIn
[default_avatar]
Ok werd ich tun :)

Eine kleine bitte, habe den code jetzt geändert, aber statische_seite_link und create_link funktioniert jetzt nimmer, würdest du mal kurz nen Blick drauf werfen:

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
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
sub haupt_url
{
my &#36url_prefix;
my &#36self;

if (ref (&#36url_prefix)){
    &#36self = &#36url_prefix ;
}
&#36url_prefix = shift;

    (&#36url_prefix = url ()) =~ s|[^/]*&#36||;
    &#36url_prefix =~ s/^https:/http:/i;    # https -> http
    return (&#36url_prefix);
}
sub full_url
{
my &#36script = shift;
my &#36self;

if (ref (&#36script)){
    &#36self = &#36script ;
}
&#36script = shift;

    return (haupt_url () . &#36script);
}
sub statische_seite_url
{
my &#36seite_name = shift;
my &#36self;

if (ref (&#36seite_name)){
    &#36self = &#36seite_name ;
}
&#36seite_name = shift;

    return (full_url ("statisch.pl") . "?seite=" . escape (&#36seite_name));
}
sub create_link
{

my &#36self;
my (&#36url, &#36bez);

if (ref (&#36_[0])){
    &#36self = &#36_[0] ;
}

&#36url = shift;
&#36bez = shift;

    &#36bez = &#36url unless &#36bez;
    return (a ({-href => &#36url}, escapeHTML (&#36bez)));
}


Ich finde den Fehler heute Abend sicher nimmer, wäre spitze wenn du da mal schnell schauen könntest.
Werde mich jetzt auch schlafen gehen gn8\n\n

<!--EDIT|SirLant|1061329376-->
--Programming today is a race between Software Enginers striving to build bigger and better idiot-proof Programs,
and the Universe trying to produce bigger and better idiots.
So far, the Universe is winning!
coax
 2003-08-20 01:45
#73668 #73668
User since
2003-08-11
457 Artikel
BenutzerIn
[default_avatar]
Quote
Eine kleine bitte, habe den code jetzt geändert, aber statische_seite_link funktioniert jetzt nimmer


weil sie vielleicht statische_seite_url heißt ? ;)

Code: (dl )
1
2
3
sub statische_seite_url 
{
# ...
\n\n

<!--EDIT|coax|1061329670-->
,,Das perlt aber heute wieder...'' -- Dittsche
kabel
 2003-08-20 01:59
#73669 #73669
User since
2003-08-04
704 Artikel
BenutzerIn
[default_avatar]
vielleicht solltest du nu einfach aufhören und ne runde pennen. ???
-- stefan
Crian
 2003-08-20 12:22
#73670 #73670
User since
2003-08-04
5866 Artikel
ModeratorIn
[Homepage]
user image
[quote=kabel,19.08.2003, 23:36]hier eine refcard zur programmierung (hehe, grad beim googlen gefunden :) )[/quote]
Klingt gut, bis auf den Schwachsinn mit den Klammern. "Setze Klammern auch wenn man sie nicht braucht" ist großer Mist meiner Meinung nach, auch wenn ich da jetzt dem großen Meister widerspreche.

Ich denke man kann sie da setzen, wo Unklarheiten bestehen, aber "und vor oder", "<,>,== vor und,oder" und dergleichen sollte jeder Programmierer einfach wissen.

Man kann die Zusammengehörigkeit ja durch die Verteilung von Leerzeichen andeuten, aber überflüssige Klammern sind IMHO so hilfreich wie ein Kropf. Mich irritieren sie jedenfalls meistens nur.

Bei Sachen wie
Code: (dl )
return print reverse sort num values %array;

versus
Code: (dl )
return print(reverse(sort num (values(%array))));

aus dem Abschnitt Programmieren mit Stil aus dem Kamelbuch bin ich mir auch nicht sicher, ob ich die klammerlastige Variante lieber mag.
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
 2003-08-20 12:44
#73671 #73671
User since
2003-08-04
704 Artikel
BenutzerIn
[default_avatar]
die autoren sagen ja nicht: "das ist das beste." sondern "so finden wir das gut".
ich hab das buch leider an meinen bruder verliehen, aber da gibts noch tonnen mehr ratschläge (interface-design, bibliotheken, etc.). ein großteil des buches sieht AFAIR so aus:

Quote
ratschlag xzy: mach das so und so.
eine lang-und-breit-erklärung mit beispielen etc.


mein geschmack ist, lieber ne klammer zu viel als klammern gespart ;) ausnahmen bestätigen die regel: bei stream-operatoren lasse ich sie weg (=> ich bevorzuge die erste variante des beispiels). da schlägt wohl das LISP-erbe des ersten semesters durch :blues:
-- stefan
SirLant
 2003-08-20 14:31
#73672 #73672
User since
2003-08-04
516 Artikel
BenutzerIn
[default_avatar]
Guten Morgen, order besser Guten Tag :)
Komme gerade von der Fahrschule, nach ner Runde Autpfahren ist man doch richtig gut gelaunt :)

Werde mich gleich mal an die Arbeit machen, hoffe ich finde den Fehler gleich
--Programming today is a race between Software Enginers striving to build bigger and better idiot-proof Programs,
and the Universe trying to produce bigger and better idiots.
So far, the Universe is winning!
Strat
 2003-08-20 14:35
#73673 #73673
User since
2003-08-04
5246 Artikel
ModeratorIn
[Homepage] [default_avatar]
[quote=Crian,20.08.2003, 10:22]
Code: (dl )
return print reverse sort num values %array;

[/quote]
Sowas ist recht einfach zu sehen, aber wenn es komplexer wird, kann man mit entsprechender Formatierung viel mehr erreichen:
Code (perl): (dl )
1
2
3
4
5
6
7
8
9
10
return (
  reverse (
    grep { &#36_ > 20 }
    @hash{
      sort { 
        lc( &#36hash{&#36a} ) cmp lc( &#36hash{&#36b} ) 
      } keys %hash
    } 
  ) # reverse
); # return
\n\n

<!--EDIT|Strat|1061376169-->
perl -le "s::*erlco'unaty.'.dk':e,y;*kn:ai;penmic;;print"
http://www.fabiani.net/
SirLant
 2003-08-20 15:07
#73674 #73674
User since
2003-08-04
516 Artikel
BenutzerIn
[default_avatar]
Habe jetzt einen Fehler draußen, aber die statischen Seiten werden noch nicht richtig verlinkt und die Links von standardlayout, haben die url als namen, was nicht sein sollte.

Vllt. könntet ihr nochmal kurz nen Blick drauf werden.
hier klicken
--Programming today is a race between Software Enginers striving to build bigger and better idiot-proof Programs,
and the Universe trying to produce bigger and better idiots.
So far, the Universe is winning!
SirLant
 2003-08-20 19:41
#73675 #73675
User since
2003-08-04
516 Artikel
BenutzerIn
[default_avatar]
Habe den Problem:

Code (perl): (dl )
1
2
3
4
5
6
7
8
9
10
11
12
sub datenschutz_link
{
my &#36bez = shift;
my &#36self;

if (ref (&#36bez)){
    &#36self = &#36bez ;
}
&#36bez = shift;

    return (create_link (statische_seite_url ("datenschutz"), &#36bez));
}

Funktioniert das einwandfrei, wenn man es über das Objekt aufruft, aber im gleichen Namensraum, nicht, da $bez nie den Parameter bekommt.
Entferne ich die Abfrage für die Referenz(und die Zuweisung), so geht die Funktion für den namensraum, aber für den Zugriff über das Objekt, steht die Speicheradresse als Namen.
Wie kann ich das Dilemma denn beheben?
--Programming today is a race between Software Enginers striving to build bigger and better idiot-proof Programs,
and the Universe trying to produce bigger and better idiots.
So far, the Universe is winning!
Crian
 2003-08-20 20:13
#73676 #73676
User since
2003-08-04
5866 Artikel
ModeratorIn
[Homepage]
user image
Ich mache es so, dass ich MethodeX aus anderen Methoden des gleichen Moduls stets über $self->MethodeX() aufrufe, wobei $self bei mir immer das zuerst übergebene Objekt ist.

HTH :)
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
<< |< 1 2 3 4 5 6 >| >> 59 Einträge, 6 Seiten



View all threads created 2003-08-17 23:34.