"PER"
"A1" "Denise Johnson" "red,orange,yellow" 09/25/2001
"PER"
"A2" "Desiree Smith" "yellow,blue-green" 03/06/1970
"EMP"
"A1" "X & Y Bank" "Teller" 05/17/1994 "Brian's Point" "WI" 54997 24000.00
"EMP"
"A2" "Acme Corp" "Computer Programmer" 07/24/1997 "Maxwell" "WI" 53224 45000.00
"EOS"
####
---------------------
Entity = A1
Name = Denise Johnson
Color = red
Color = orange
Color = yellow
Date = 09/25/2001
----------------------
Entity = A2
Name = Desiree Smith
Color = yellow
Color = blue-green
Date = 03/06/1970
------------------------
Entity = A1
Employment = X & Y Bank
Job Title = Teller
Date of Hire = 05/17/1994
Location = Brian's Point, WI 54997
Salary = 24000.00
------------------------
Entity = A2
Employment = Acme Corp
Job Title = Computer Programmer
Date of Hire = 07/24/1997
Location = Maxwell, WI 53224
Salary = 45000.00
####
#!/usr/bin/perl-Tw
use strict;
use Text::ParseWords;
open(DATA,"basicdez.dat") || die "Cannot open datfile: $!\n";
my @data;
my $i = 0;
my $new_record = 0;
while ()
{
chomp;
last if /^"EOS"$/;
{
@data = "ewords('\s+', 0, $_);
}
if ((/^PER\s*$/) && ($data[0]) && ($data[1]) && ($data[2]) && ($data[3]))
{
my @colors=split(/,/, $data[2]);
print "---------------------\n";
print "Entity = $data[0]\n";
print "Name = $data[1]\n";
for (@colors){
# print each color
print "Color = $_\n";
print "Date = $data[3]\n";
}
if ((/^EMP\s*$/) && ($data[0]) && ($data[1]) && ($data[2]) && ($data[3]) && ($data[4]) && ($data[5]) && ($data[6]) && ($data[7]))
{
print "------------------------\n";
print "Entity = $data[0]\n";
print "Employment = $data[1]\n";
print "Job Title = $data[2]\n";
print "Hire Date = $data[3]\n";
print "Location = $data[4], $data[5] $data[6]\n";
print "Salary = $data[7]\n";
}
}
}