Remove perl dependency for bash completions

The commands that are substituted here will only consist of ASCII
characters, so we can avoid the dependency on perl(1) and just use
tr(1).

Tested manually:

```
$ ./scripts/generate_bash_completion.sh --bazel=bazel --output=./complete.bash --prepend=./scripts/bazel-complete-template.bash
$ source complete.bash
$ _bazel__options_for build
```

Fixes #5943.

Closes #5999.

PiperOrigin-RevId: 210511218
diff --git a/scripts/bazel-complete-template.bash b/scripts/bazel-complete-template.bash
index d3f89bb..531e329 100644
--- a/scripts/bazel-complete-template.bash
+++ b/scripts/bazel-complete-template.bash
@@ -154,7 +154,8 @@
 _bazel__options_for() {
   local options
   if [[ "${BAZEL_COMMAND_LIST}" =~ ^(.* )?$1( .*)?$ ]]; then
-      local option_name=$(echo $1 | perl -ne 'print uc' | tr "-" "_")
+      # assumes option names only use ASCII characters
+      local option_name=$(echo $1 | tr a-z A-Z | tr "-" "_")
       eval "echo \${BAZEL_COMMAND_${option_name}_FLAGS}" | tr " " "\n"
   fi
 }
@@ -164,7 +165,8 @@
 _bazel__expansion_for() {
   local options
   if [[ "${BAZEL_COMMAND_LIST}" =~ ^(.* )?$1( .*)?$ ]]; then
-      local option_name=$(echo $1 | perl -ne 'print uc' | tr "-" "_")
+      # assumes option names only use ASCII characters
+      local option_name=$(echo $1 | tr a-z A-Z | tr "-" "_")
       eval "echo \${BAZEL_COMMAND_${option_name}_ARGUMENT}"
   fi
 }