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

Namespaces



<< |< 1 2 >| >> 11 Einträge, 2 Seiten
nepos
 2005-09-22 18:28
#58354 #58354
User since
2005-08-17
1420 Artikel
BenutzerIn
[Homepage] [default_avatar]
Hallo zusammen!

Also, ich weiss nicht, ob das ueberhaupt geht, aber man kann sich ja via z.B.
Code: (dl )
$CGI->import_names('QUERY');
alle Parameter eines Requests in den Namespace QUERY holen.
Mittels
Code: (dl )
foreach (keys %QUERY::) { print $_; }
kann ich mir rausholen, welche Parameter er importiert hat.
Doch wie kann ich nun - fuer Debugging-Zwecke - die wirklichen Werte ausgeben lassen?
Also nehmen wir z.B. mal an, er haette den Parameter action=test importiert. Mittels
Code: (dl )
$QUERY::action
komme ich da ran. Und genau das moechte ich dynamisch machen, so dass ich immer alle Parameter + Werte sehe, die grade so im Request enthalten waren.
Danke fuer eure Hilfe!

PS: Habs nicht unter Webprogrammierung gepostet, weil ich denke, das is nix spezielles, was da reingehoert ;)

Gruesse,
Nepos
Taulmarill
 2005-09-22 18:34
#58355 #58355
User since
2004-02-19
1750 Artikel
BenutzerIn

user image
warum machst du es dir nicht einfach, und lädst alle params einfach in einen hash (untested)
Code: (dl )
1
2
3
4
5
use Data::Dumper;
use CGI;
my $q = new CGI;
my %params = $q->Vars;
print Dumper \%params;
$_=unpack"B*",~pack"H*",$_ and y&1|0& |#&&print"$_\n"for@.=qw BFA2F7C39139F45F78
0A28104594444504400 0A2F107D54447DE7800 0A2110453444450500 73CF1045138445F4800 0
F3EF2044E3D17DE 8A08A0451412411 F3CF207DF41C79E 820A20451412414 83E93C4513D17D2B
nepos
 2005-09-22 18:48
#58356 #58356
User since
2005-08-17
1420 Artikel
BenutzerIn
[Homepage] [default_avatar]
Weil ichs nun so habe und weil mich das interessiert ;)
Der Hash waere natuerlich auch ne Loesung...
Aber geht das andere denn irgendwie auch?
Strat
 2005-09-22 18:50
#58357 #58357
User since
2003-08-04
5246 Artikel
ModeratorIn
[Homepage] [default_avatar]
wenn du den querystring haben willst, schau dir mal die Umgebungsvariablen %ENV an... in einigen stehen Infos zum Script und den Parametern (zumindest bei GET, nicht jedoch bei POST-Parametern) drinnen; wie die genau heissen, weiss ich nicht auswendig, und habe hier auch keine moeglichkeit nachzuschauen.
perl -le "s::*erlco'unaty.'.dk':e,y;*kn:ai;penmic;;print"
http://www.fabiani.net/
pq
 2005-09-22 23:03
#58358 #58358
User since
2003-08-04
12208 Artikel
Admin1
[Homepage]
user image
use Data::Dumper;
print Dumper \%{QUERY::};
Always code as if the guy who ends up maintaining your code will be a violent psychopath who knows where you live. -- Damian Conway in "Perl Best Practices"
lesen: Wiki:Wie frage ich & perlintro Wiki:brian's Leitfaden für jedes Perl-Problem
nepos
 2005-09-22 23:05
#58359 #58359
User since
2005-08-17
1420 Artikel
BenutzerIn
[Homepage] [default_avatar]
Und wie komme ich an den Inhalt der Variablen dann? Das will ich ja eigentlich ;)
pKai
 2005-09-22 23:50
#58360 #58360
User since
2005-02-18
357 Artikel
BenutzerIn
[default_avatar]
Wie es pq bereits gezeigt hat. %{QUERY::} ist Dein Hash den du auslesen kannst (keys, values, ...)
I sense a soul in search of answers.
nepos
 2005-09-22 23:55
#58361 #58361
User since
2005-08-17
1420 Artikel
BenutzerIn
[Homepage] [default_avatar]
Nein, eben nicht. Im Hash steht nur sowas ala 'param' => '*Q::param1'.
Was ich machen will ist, die Parameter, die ich mittels import_names nach Q geholt hab auszugeben. %Q:: is ja nur die Symboltabelle.
pKai
 2005-09-23 00:25
#58362 #58362
User since
2005-02-18
357 Artikel
BenutzerIn
[default_avatar]
Code: (dl )
1
2
3
for my $key (keys %{QUERY::}) {
print "$key = $${\%{QUERY::}->{$key}}\n";
}


Wobei ich diese Vorgehensweise nicht wirklich empfehlen kann :ghostface:
I sense a soul in search of answers.
nepos
 2005-09-23 00:35
#58363 #58363
User since
2005-08-17
1420 Artikel
BenutzerIn
[Homepage] [default_avatar]
Moeglich :)
Ich wollt nur wissen, wie das prinzipiell geht.
Was hast du denn an Problemen damit?
<< |< 1 2 >| >> 11 Einträge, 2 Seiten



View all threads created 2005-09-22 18:28.