From d654b5c03c576bf8962960df9febf3ad37e29ea2 Mon Sep 17 00:00:00 2001 From: lshprung Date: Mon, 13 Sep 2021 16:28:16 -0700 Subject: Altered behavior of db_cmd and array_handler --- shared.pl | 25 +++++++++++++++++++++++-- 1 file changed, 23 insertions(+), 2 deletions(-) (limited to 'shared.pl') diff --git a/shared.pl b/shared.pl index ea2fdfd..16993ab 100644 --- a/shared.pl +++ b/shared.pl @@ -1,4 +1,25 @@ -# File to hold shared variables and subroutines +# File to hold shared subroutines + + +# Handle digging into non-scalar tags and other deep arrays +# @_[0] -> array tag/deep array +sub array_handler { + my @output; + + for my $i (@_){ + # If another array, recursively handle + if (ref($i) eq 'ARRAY'){ + push(@output, array_handler(@$i)); + } + + # If scalar, append to output normally + elsif (!ref($i)){ + push(@output, "$i"); + } + } + + return @output; +} # Wrapper to handle sqlite commands, return an array of returned lines from sqlite output @@ -18,7 +39,7 @@ sub db_cmd { } # Build output array - return($sth->fetchrow_array); + return($sth->fetchall_arrayref); } 1; -- cgit