diff options
Diffstat (limited to 'shared.pl')
-rw-r--r-- | shared.pl | 42 |
1 files changed, 21 insertions, 21 deletions
@@ -1,27 +1,6 @@ # 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 # @_[0] -> database handle # @_[1] -> command/statement @@ -43,3 +22,24 @@ sub db_cmd { } 1; + +# Handle digging into non-scalar tags and other deep arrays +# @_[0] -> array tag/deep array +sub flatten_array { + my @output; + + for my $i (@_){ + # If another array, recursively handle + if (ref($i) eq 'ARRAY'){ + push(@output, flatten_array(@$i)); + } + + # If scalar, append to output normally + elsif (!ref($i)){ + push(@output, "$i"); + } + } + + return @output; +} + |