=back
=cut
-sub mapping_mode_path {
- my ($key, $screen, $config, $input) = @_;
+sub mapping_mode_helper {
+ my ($name, $select, $key, $screen, $config, $input) = @_;
- $screen->debug('mapping_mode_path', 'started');
+ $screen->debug("mapping_mode_$name", 'started');
- my @matches = get_regex_matches($input, $config->{regex}{path});
+ my @matches = get_regex_matches($input, $config->{regex}{$name});
return {
- select => 'path select',
+ select => $select,
matches => \@matches,
- handler => $config->{handler}{path},
+ handler => $config->{handler}{$name},
};
}
+sub mapping_mode_path {
+ return mapping_mode_helper('path', 'path select', @_);
+}
sub mapping_mode_url {
- my ($key, $screen, $config, $input) = @_;
-
- $screen->debug('mapping_mode_url', 'started');
-
- my @matches = get_regex_matches($input, $config->{regex}{url});
- return {
- select => 'url select',
- matches => \@matches,
- handler => $config->{handler}{url},
- };
+ return mapping_mode_helper('url', 'url select', @_);
}
sub mapping_mode_ip {
my ($key, $screen, $config, $input) = @_;
};
}
sub mapping_mode_checksum {
- my ($key, $screen, $config, $input) = @_;
-
- $screen->debug('mapping_mode_checksum', 'started');
-
- my @matches = get_regex_matches($input, $config->{regex}{checksum});
- return {
- select => 'checksum select',
- matches => \@matches,
- handler => $config->{handler}{checksum},
- };
+ return mapping_mode_helper('checksum', 'checksum select', @_);
}
=head2 SEARCH MODE (AND EXTEND MODE)