X-Git-Url: https://ruderich.org/simon/gitweb/?p=fcscs%2Ffcscs.git;a=blobdiff_plain;f=bin%2Ffcscs;h=582d194c7a47fd86011650f79eef9dd8046512c8;hp=0675def809dd771be3f7e1aee0eebb8e05bc95c8;hb=8f48f9a3b5c110341dec7fd65a488b92b6d8093a;hpb=dd84992d32a47e07165fdb64e420ed00e37cd552 diff --git a/bin/fcscs b/bin/fcscs index 0675def..582d194 100755 --- a/bin/fcscs +++ b/bin/fcscs @@ -753,29 +753,23 @@ The following normal modes are available: =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) = @_; @@ -791,16 +785,7 @@ sub mapping_mode_ip { }; } 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)