Lines 86-91
sub as_string {
Link Here
|
86 |
# parse a string into fields |
86 |
# parse a string into fields |
87 |
sub _parse_seg { |
87 |
sub _parse_seg { |
88 |
my $s = shift; |
88 |
my $s = shift; |
|
|
89 |
|
90 |
# Handle undefined or empty segments |
91 |
return { tag => '', elem_arr => [] } unless defined $s && length $s >= 3; |
92 |
|
89 |
my $e = { |
93 |
my $e = { |
90 |
tag => substr( $s, 0, 3 ), |
94 |
tag => substr( $s, 0, 3 ), |
91 |
elem_arr => _get_elements( substr( $s, 3 ) ), |
95 |
elem_arr => _get_elements( substr( $s, 3 ) ), |
Lines 100-105
sub _parse_seg {
Link Here
|
100 |
sub _get_elements { |
104 |
sub _get_elements { |
101 |
my $seg = shift; |
105 |
my $seg = shift; |
102 |
|
106 |
|
|
|
107 |
# Handle undefined or empty segments |
108 |
return [] unless defined $seg; |
109 |
|
103 |
$seg =~ s/^[+]//; # dont start with a dummy element` |
110 |
$seg =~ s/^[+]//; # dont start with a dummy element` |
104 |
my @elem_array = map { _components($_) } split /(?<![?])[+]/, $seg; |
111 |
my @elem_array = map { _components($_) } split /(?<![?])[+]/, $seg; |
105 |
|
112 |
|
106 |
- |
|
|