sub do_funky_tag_thing {
my ($text1, $text2) = @_;
# Build the command-line args from the web-service
# args. Some funky logic here..
my %args;
$args{'-opt1'} = $text1 if defined $text1;
if (defined $text1 and defined $text2) {
$args{'-opt2'} = process_text($text2);
}
# Log the command to L4P for audit purposes.
my $external_command = 'tag ';
for my $opt (keys %args) {
$external_command .= $opt.' '.shell_escape($args{$opt))
}
get_logger->info(
"Running external command: $external_command";
);
# Now run the actual command.. with no reliance on
# shell_escape()
system('tag',%args);
}