Data Serialization Concepts
Key-Value Format
Encode small fields as key-value text.
key-value-format
A key-value format stores each field name beside its value.
Key-Value Format
key_value_format.pl
Replay: real traced execution (multi-file project)
use strict;
use warnings;
my $name = "Ada";
my $role = "admin";
my $encoded = "name=$name;role=$role";
print "name=$name\n";
print "role=$role\n";
print "encoded=$encoded\n";
use strict;
use warnings;
my $name = "Mira";
my $role = "admin";
my $encoded = "name=$name;role=$role";
print "name=$name\n";
print "role=$role\n";
print "encoded=$encoded\n";
use strict;
use warnings;
my $name = "Lin";
my $role = "admin";
my $encoded = "name=$name;role=$role";
print "name=$name\n";
print "role=$role\n";
print "encoded=$encoded\n";
$name ← Ada, $role ← admin, $encoded ← name=Ada;role=admin
4my $name→ Ada = "Ada"; #@name="Mira", "Lin"5my $role→ admin = "admin";6my $encoded→ name=Ada;role=admin = "name=$nameAda;role=$roleadmin";78print "name=$nameAda\n";9print "role=$roleadmin\n";10print "encoded=$encodedname=Ada;role=admin\n";outputname=Ada role=admin encoded=name=Ada;role=admin
$name ← Mira, $role ← admin, $encoded ← name=Mira;role=admin
4my $name→ Mira = "Mira";5my $role→ admin = "admin";6my $encoded→ name=Mira;role=admin = "name=$nameMira;role=$roleadmin";78print "name=$nameMira\n";9print "role=$roleadmin\n";10print "encoded=$encodedname=Mira;role=admin\n";outputname=Mira role=admin encoded=name=Mira;role=admin
$name ← Lin, $role ← admin, $encoded ← name=Lin;role=admin
4my $name→ Lin = "Lin";5my $role→ admin = "admin";6my $encoded→ name=Lin;role=admin = "name=$nameLin;role=$roleadmin";78print "name=$nameLin\n";9print "role=$roleadmin\n";10print "encoded=$encodedname=Lin;role=admin\n";outputname=Lin role=admin encoded=name=Lin;role=admin