Home arrow Perl Programming arrow Page 3 - Using Perl With WDDX

Packet Sniffer - Perl

Think there's no such thing as platform independence? Thinkagain. This article introduces you to WDDX, a platform-neutral way toexchange data structures across the Web, and shows you how you can putit to work using the Perl WDDX module.

  1. Using Perl With WDDX
  2. The Big Picture
  3. Packet Sniffer
  4. Boyz 'N The Hood
  5. All Mixed Up
  6. Flying Toasters And Dancing Knives
  7. Different Strokes
  8. This Way Out
By: icarus, (c) Melonfire
Rating: starstarstarstarstar / 2
August 07, 2002

print this article


All WDDX "packets" are constructed in a standard format.

The root, or document, element for WDDX data is always the <wddxPacket> element, which marks the beginning and end of a WDDX block.

<wddxPacket version='1.0'>
This is immediately followed by a header containing comments,

<header> <comment>This packet was generated on stardate 56937, constellationOmega </comment> </header>
and a data area containing WDDX data structures.

<data> ...</data></wddxPacket>
In order to perform its magic, WDDX defines a set of base data types that correspond to the data types available in most programming languages. Here's a list, with examples - pay attention, because you'll be seeing a lot of these in the next few pages:

Strings, represented by the element <string> - for example

<wddxPacket version='1.0'> <header/><data><string>Robin Hood</string></data></wddxPacket>
Numbers, represented by the element <number> - for example

<wddxPacket version='1.0'> <header/><data><number>5</number></data></wddxPacket>
Boolean values, represented by the element <boolean> - for example

<wddxPacket version='1.0'> <header/><data><boolean value='true'/></data></wddxPacket>
Timestamps, represented by the element <dateTime> - for example

<wddxPacket version='1.0'> <header/><data><dateTime>2002-06-08T16:48:23</dateTime></data></wddxPacket
Arrays and hashes, represented by the elements <array> and <struct> respectively - for example

<wddxPacket version='1.0'> <header/><data><array length='3'><string>red</string><string>blue</string><string>green</string></array></data></wddxPacket>
Tabular data, represented by the element <recordset> - for example

<wddxPacket version='1.0'> <header/><data><recordset rowCount='3' fieldNames='ID,NAME'><field name='ID'><number>1</number><number>2</number><number>3</number></field><field name='NAME'><string>John</string><string>Joe</string><string>Mary</string></field></recordset></data></wddxPacket>
Base64-encoded binary data, represented by the element <binary> - for example

<wddxPacket version='1.0'> <header/><data><binary length='24'>VGhpcyBpcyBzb21lIGJpbmFyeSBkYXRh</binary></data></wddxPacket>
The process of converting a data structure into WDDX is referred to as "serialization". The process of decoding a WDDX packet into a usable form is, obviously, "deserialization". The serializer/deserializer component is usually built into the programming language - as you will see on the next page, when I introduce Perl into the equation.

>>> More Perl Programming Articles          >>> More By icarus, (c) Melonfire

blog comments powered by Disqus
escort Bursa Bursa escort Antalya eskort


- Perl Turns 25
- Lists and Arguments in Perl
- Variables and Arguments in Perl
- Understanding Scope and Packages in Perl
- Arguments and Return Values in Perl
- Invoking Perl Subroutines and Functions
- Subroutines and Functions in Perl
- Perl Basics: Writing and Debugging Programs
- Structure and Statements in Perl
- First Steps in Perl
- Completing Regular Expression Basics
- Modifiers, Boundaries, and Regular Expressio...
- Quantifiers and Other Regular Expression Bas...
- Parsing and Regular Expression Basics
- Hash Functions

Developer Shed Affiliates


Dev Shed Tutorial Topics: