Schrift
[thread]12720[/thread]

XML::Parser / __DATA__

Leser: 5


<< >> 7 Einträge, 1 Seite
Gast Gast
 2008-11-05 10:03
#115975 #115975
Hi, ist das der beste Weg ( local $/;), um __DATA__ parsen zu können?


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
use warnings;
use strict;

use XML::Parser;


my $p= new XML::Parser ( Style => 'Debug' );

{
local $/;

my $text = <DATA>;
$p -> parse ( $text );

}

__DATA__
<?xml version="1.0"?>

<adressen>
<vorname>Micky</vorname>
<nachname>Maus</nachname>
<telgesch>123456789</telgesch>
</adressen>
Struppi
 2008-11-05 10:52
#115978 #115978
User since
2006-02-17
628 Artikel
BenutzerIn
[Homepage]
user image
Was in Perl das Beste ist läßt sich meistens nicht sagen, aber in dem Falle kannst du es auch so machen:
Code (perl): (dl )
1
2
my @text = <DATA>;
$p -> parse ( @text );

dürfte in etwa auf's selbe rauskommen.
renee
 2008-11-05 11:57
#115982 #115982
User since
2003-08-04
14371 Artikel
ModeratorIn
[Homepage] [default_avatar]
parse erwartet entweder den String oder einen Filehandle. Die Lösung von "Gast" ist schon gut so.
OTRS-Erweiterungen (http://feature-addons.de/)
Frankfurt Perlmongers (http://frankfurt.pm/)
--

Unterlagen OTRS-Workshop 2012: http://otrs.perl-services.de/workshop.html
Perl-Entwicklung: http://perl-services.de/
Gast Gast
 2008-11-05 12:02
#115983 #115983
Struppi+2008-11-05 09:52:16--
Was in Perl das Beste ist läßt sich meistens nicht sagen, aber in dem Falle kannst du es auch so machen:
Code (perl): (dl )
1
2
my @text = <DATA>;
$p -> parse ( @text );


Das wäre kürzer - aber es funktioniert nicht mehr:
Code: (dl )
no element found at line 2, column 0, byte 22 at /usr/lib/perl5/vendor_perl/5.10.0/x86_64-linux-thread-multi/XML/Parser.pm line 187
Struppi
 2008-11-05 17:06
#116008 #116008
User since
2006-02-17
628 Artikel
BenutzerIn
[Homepage]
user image
Ich hab das Beispiel von dir genommen und das funktioniert.
Gast Gast
 2008-11-05 20:35
#116029 #116029
Struppi+2008-11-05 16:06:07--
Ich hab das Beispiel von dir genommen und das funktioniert.


Geht bei mir nicht:

Code (perl): (dl )
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
#!/usr/bin/perl
use warnings;
use strict;

use XML::Parser;


my $p= new XML::Parser ( Style => 'Debug' );

my @text = <DATA>;
$p -> parse ( @text );


__DATA__
<?xml version="1.0"?>

<adressen>
<vorname>Micky</vorname>
<nachname>Maus</nachname>
<telgesch>123456789</telgesch>
</adressen>


Struppi
 2008-11-05 20:40
#116030 #116030
User since
2006-02-17
628 Artikel
BenutzerIn
[Homepage]
user image
argh, ich hatte beim testen das local $/ drin gelassen. OK, vergiß meinen Vorschlag.
<< >> 7 Einträge, 1 Seite



View all threads created 2008-11-05 10:03.