Schrift
[thread]6497[/thread]

Perlinterface zum Perl-Parser: Data::Dumper Ausgabe ohne eval einlesen?

Leser: 1


<< |< 1 2 >| >> 13 Einträge, 2 Seiten
murphy
 2004-08-14 00:18
#49278 #49278
User since
2004-07-19
1776 Artikel
HausmeisterIn
[Homepage]
user image
Hallo,

gibt es eine Möglichkeit, die Ausgabe, die Data::Dumper erzeugt, wieder in Perl Datenstrukturen zu verwandeln, ohne eval zu verwenden?
Also so eine Art Interface von Perl zu seinem eigenen Parser...
When C++ is your hammer, every problem looks like your thumb.
esskar
 2004-08-14 00:20
#49279 #49279
User since
2003-08-04
7321 Artikel
ModeratorIn

user image
was spricht gegen eval?
sri
 2004-08-14 00:37
#49280 #49280
User since
2004-01-29
828 Artikel
BenutzerIn
[Homepage] [default_avatar]
Wenns du kein eval willst nimm halt YAML zum serialisieren.
dominicn
 2004-08-14 09:39
#49281 #49281
User since
2003-08-08
327 Artikel
BenutzerIn
[default_avatar]
[quote=sri,13.08.2004, 22:37]Wenns du kein eval willst nimm halt YAML zum serialisieren.[/quote]
wenn du nicht auf data::dumper angewiesen bist, dann nimm doch ein andres serialisierungstool, z.b. Storable.pm oder FreezeThaw.pm
pq
 2004-08-14 13:16
#49282 #49282
User since
2003-08-04
12208 Artikel
Admin1
[Homepage]
user image
[quote=sri,13.08.2004, 22:37]Wenns du kein eval willst nimm halt YAML zum serialisieren.[/quote]
wobei man leider sagen muss, dass dieses vielversprechende modul leider ein
wenig eingeschlafen zu sein scheint (ingy halt...) und noch bugs hat.
wenn man ungefähr weiß, wie die datenstrukturen aussehen, kann man es
verwenden, aber ansonsten kann es einem probleme bereiten.
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
lichtkind
 2004-08-14 13:58
#49283 #49283
User since
2004-03-22
5681 Artikel
ModeratorIn + EditorIn
[Homepage]
user image
soweit wie ich weiss soll das modul komplett sein
der grund das man lange nix mehr von YMAL gehört hat
(aktuelles release 0.35 aber current dev ist 0.41b oder so)
das es komplettes rewrite sein soll
Wiki:Tutorien in der Wiki, mein zeug:
kephra, baumhaus, garten, gezwitscher

Es beginnt immer mit einer Entscheidung.
sri
 2004-08-14 18:51
#49284 #49284
User since
2004-01-29
828 Artikel
BenutzerIn
[Homepage] [default_avatar]
[quote=pq,14.08.2004, 11:16][quote=sri,13.08.2004, 22:37]Wenns du kein eval willst nimm halt YAML zum serialisieren.[/quote]
wobei man leider sagen muss, dass dieses vielversprechende modul leider ein
wenig eingeschlafen zu sein scheint (ingy halt...) und noch bugs hat.
wenn man ungefähr weiß, wie die datenstrukturen aussehen, kann man es
verwenden, aber ansonsten kann es einem probleme bereiten.[/quote]
Von welchen Bugs redest du? Hast du ihm patche geschickt?
Ich benutze YAML so gut wie jeden Tag und hatte bisher nie Probleme.
Also Ingy ist sicherlich nicht eingeschlafen da er im moment fast jeden Tag neue Versionen von IO::ALL, Spiffy und Kwiki ins CPAN stellt...\n\n

<!--EDIT|sri|1092495535-->
pq
 2004-08-14 20:48
#49285 #49285
User since
2003-08-04
12208 Artikel
Admin1
[Homepage]
user image
[quote=sri,14.08.2004, 16:51]Von welchen Bugs redest du? Hast du ihm patche geschickt?
Ich benutze YAML so gut wie jeden Tag und hatte bisher nie Probleme.
Also Ingy ist sicherlich nicht eingeschlafen da er im moment fast jeden Tag neue Versionen von IO::ALL, Spiffy und Kwiki ins CPAN stellt...[/quote]
Code: (dl )
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
use strict;
use warnings;
use YAML;
use Data::Dumper;
my $d = [{"- test" => ""}];
my $yaml= Dump $d;
print "YAML:\n$yaml";
my $x = Load $yaml;
print Dumper $x;

Ausgabe:
YAML:
--- #YAML:1.0
- '- test': ''
--- !perl/YAML::Error
code: YAML_PARSE_ERR_SINGLE_LINE
msg: Couldn't parse single line value
line: 2
document: 1
...
at ...

den bug hatte ich mal selbst gefunden. nein, einen patch habe ich nicht
geschickt, aber ich habe es versucht zu patchen. es überstieg meine kenntnisse.
bei einem anderen modul habe ich auf rt.cpan.org einen bug mit patch
veröffentlicht, hier habe ich nur den bug veröffentlicht:
http://rt.cpan.org/NoAuth/Bug.html?id=2957

aber wenn die entwicklung läuft, ist das ja nicht schlecht. ist halt nur
doof, dass man schon so lange mit diesem und anderen bugs (siehe liste)
leben muss. ich will ingy ja auch nicht schlechtmachen, aber ich hab halt
den eindruck, er hat massig geniale ideen und führt einige davon nicht zu ende.
(geht mir persönlich aber ebenso, zumindest mit dem nicht zu ende führen =)
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
Strat
 2004-08-14 22:27
#49286 #49286
User since
2003-08-04
5246 Artikel
ModeratorIn
[Homepage] [default_avatar]
[quote=murphy,13.08.2004, 22:18]Hallo,

gibt es eine Möglichkeit, die Ausgabe, die Data::Dumper erzeugt, wieder in Perl Datenstrukturen zu verwandeln, ohne eval zu verwenden?
Also so eine Art Interface von Perl zu seinem eigenen Parser...[/quote]
ja, allerdings nur indirekt... durch setzen der Variable $Data::Dumper::Varname = "MeineVariable";
kann man fuer den Dump einen anderen Variablennamen vergeben... und wenn man das in eine Datei schreibt, kann man die Struktur mit require oder aehnlichem wieder laden... (eventuell musst du noch $Data::Dumper::Purity auf 1 setzen)

aber wieso willst du da auf ein eval verzichten? In einer Subroutine geht das sehr gut, z.B.
Code: (dl )
1
2
3
4
5
6
7
8
sub EvalDump {
 my $dump = shift;
 my $VAR1;
 eval $dump;
 die $@ if $@;
 return $VAR1;
} # EvalDump
my $variable = &EvalDump(.... dump ...);

oder so aehnlich

zum Serialisieren kann man auch CPAN:Storable verwenden; das braucht weniger Platz, weil es die Infos binaer ablegt\n\n

<!--EDIT|Strat|1092508121-->
perl -le "s::*erlco'unaty.'.dk':e,y;*kn:ai;penmic;;print"
http://www.fabiani.net/
kabel
 2004-08-15 19:50
#49287 #49287
User since
2003-08-04
704 Artikel
BenutzerIn
[default_avatar]
[quote=murphy,13.08.2004, 22:18]Also so eine Art Interface von Perl zu seinem eigenen Parser...[/quote]
eval ist das interface zum perl parser =)
-- stefan
<< |< 1 2 >| >> 13 Einträge, 2 Seiten



View all threads created 2004-08-14 00:18.