From: martin f. krafft Date: Thu, 9 Sep 2021 10:38:45 +0000 (+0200) Subject: Simplify data level conversion functions X-Git-Url: http://git.99rst.org/?a=commitdiff_plain;h=6f4dbdf5f6e7f63b8958a87bd52adcb19ca55e7b;p=irssi-scripts.irssi.org.git Simplify data level conversion functions Don't even know what crack I was smoking previously, but conversion between integer datalevels 1–4 and the corresponding keywords is now a whole lot simpler. Signed-off-by: martin f. krafft --- diff --git a/scripts/ctrlact.pl b/scripts/ctrlact.pl index 2d53a8e..d2586da 100644 --- a/scripts/ctrlact.pl +++ b/scripts/ctrlact.pl @@ -221,18 +221,20 @@ sub match { sub to_data_level { my ($kw) = @_; - return $1 if $kw =~ m/^(\d+)$/; - foreach my $i (2..4) { - my $matcher = qr/^$DATALEVEL_KEYWORDS[5-$i]$/; - return 6-$i if $kw =~ m/$matcher/i; + my $ret = 0; + for my $i (0 .. $#DATALEVEL_KEYWORDS) { + if ($kw eq $DATALEVEL_KEYWORDS[$i]) { + $ret = $i + 1; + } } - return 1; + return $ret } sub from_data_level { my ($dl) = @_; - croak "Invalid numeric data level: $dl" unless $dl =~ m/^([1-4])$/; - return $DATALEVEL_KEYWORDS[$dl-1]; + if ($dl =~ /^[1-4]$/) { + return $DATALEVEL_KEYWORDS[$dl-1]; + } } sub walk_match_array {