$ perl -MO=Deparse test.pl
BEGIN { $^W = 1; }
sub dump_afp {
my $obj = shift @_;
my $struct = $obj->struct;
my(@keys) = sort(grep((!/^_|^(?:Data|EscapeSequence|ControlCode|Length|CC|(?:Sub)?Type|FlagByte)$/), keys %$struct));
push @keys, 'Data' if exists $$struct{'Data'};
WID: foreach my $key (@keys) {
next if ref $$struct{$key};
next unless length($x = $$struct{$key});
if ($obj->ENCODING and grep {$key eq $_;} $obj->ENCODED_FIELDS) {
$x = $obj->$key;
$x = qq["$x"];
}
elsif ($x =~ /[^\w\s]/) {
$x = '';
}
if ($key eq 'Data') {
if ($x =~ /^"(\w|\d|\$)/) {
$x =~ s/"|\(|\)//g;
if ($x =~ m[^\d\d/\d\d/\d\d\s]) {
my(@dateinfo) = split(/\s/, $x, 0);
if ($dateinfo[0] =~ m[^\d\d/\d\d/\d\d]) {
print '';
print $dateinfo[0];
print "\n";
print '';
print $dateinfo[1];
print "\n";
}
}
else {
if ($x =~ m[^\d\d/\d\d/\d\d]) {
print '';
print $x;
print "\n";
}
if (not $x =~ m[^\d\d/\d\d/\d\d] and $x != 'Patient') {
if (not $x =~ /^((\d+)||(\d+,\d+))\.\d\d/) {
print '';
print $x;
print "\n";
}
}
}
if ($x =~ /^((\d+)||(\d+,\d+))\.\d\d/) {
print '';
print $x;
print "\n";
}
if ($x =~ /^((\$\d+)||(\$\d+,\d+))\.\d\d/) {
print '';
print $x;
print "\n";
}
}
}
if ($x =~ /^Patient/) {
last WID;
}
}
if ($obj->has_members) {
dump_members($obj);
}
}
test.pl syntax OK