From 8c29f939aa46d613d99ace8ec549b76975c1b2d6 Mon Sep 17 00:00:00 2001 From: Gerhard Gonter <ggonter@gmail.com> Date: Wed, 4 Sep 2013 10:45:17 +0200 Subject: [PATCH] added P4C1L which is more appropriate for hex codes, e.g. md5 or uid --- textarchive/lib/TA/Hasher.pm | 25 ++++++++++++++++++++++++- 1 file changed, 24 insertions(+), 1 deletion(-) diff --git a/textarchive/lib/TA/Hasher.pm b/textarchive/lib/TA/Hasher.pm index 2025cb0..6948b34 100644 --- a/textarchive/lib/TA/Hasher.pm +++ b/textarchive/lib/TA/Hasher.pm @@ -9,7 +9,7 @@ package TA::Hasher; use Data::Dumper; $Data::Dumper::Indent= 1; -my %known_algorithms= map { $_ => 1 } qw(NULL S3C1L S3C2L P3C3L P3C2L P3C1L); +my %known_algorithms= map { $_ => 1 } qw(NULL S3C1L S3C2L P3C3L P3C2L P3C1L P4C1L); sub new { @@ -51,6 +51,10 @@ sub new { $obj->{'mkpo'}= \&TA::Hasher::P3C1L::mkpo; } + elsif ($algorithm eq 'P4C1L') + { + $obj->{'mkpo'}= \&TA::Hasher::P4C1L::mkpo; + } else { $obj->{'mkpo'}= \&TA::Hasher::NULL::mkpo; @@ -217,6 +221,23 @@ sub mkpo return { 'L' => \@L }; } +package TA::Hasher::P4C1L; + +sub mkpo +{ + my $S= shift; + + return undef unless (defined ($S)); + + my @L; + + if ($S =~ m#^(.{1,4})#) + { @L= ( $1 ); } + else { @L= ( $S ); } + + return { 'L' => \@L }; +} + 1; __END__ @@ -227,5 +248,7 @@ __END__ =item check_path ($mkpo) +=item method to register hasher algorithm + =back -- GitLab