Eh? There is no unreachable code in the OP. There is a non-coded space in the same scope as and below the if-else statement which *could* contain unreachable code, but there is NO code there. pertcritic confirms.
bash-4.2$ perlcritic --brutal pccdoe.pl
Code is not tidy at line 1, column 1. See page 33 of PBP. (Severity:
+ 1)
Module does not end with "1;" at line 1, column 1. Must end with a re
+cognizable true value. (Severity: 4)
Code not contained in explicit package at line 1, column 1. Violates
+encapsulation. (Severity: 4)
No package-scoped "$VERSION" variable found at line 1, column 1. See
+page 404 of PBP. (Severity: 2)
Code before strictures are enabled at line 1, column 1. See page 429
+of PBP. (Severity: 5)
Code before warnings are enabled at line 1, column 1. See page 431 of
+ PBP. (Severity: 4)
Found "\t" at the end of the line at line 5, column 1. Don't use whit
+espace at the end of lines. (Severity: 1)
Found "\N{SPACE}" at the end of the line at line 6, column 15. Don't
+use whitespace at the end of lines. (Severity: 1)
Builtin function called with parentheses at line 8, column 3. See pag
+e 13 of PBP. (Severity: 1)
Close filehandles as soon as possible after opening them at line 8, co
+lumn 3. See page 209 of PBP. (Severity: 4)
"$fh" is declared but not used at line 8, column 8. Unused variables
+clutter code and make it harder to read. (Severity: 3)
Useless interpolation of literal string at line 8, column 16. See pag
+e 51 of PBP. (Severity: 1)
"die" used instead of "croak" at line 8, column 31. See page 283 of P
+BP. (Severity: 3)
Magic punctuation variable $! used in interpolated string at line 8, c
+olumn 35. See page 79 of PBP. (Severity: 2)
Found "\N{SPACE}" at the end of the line at line 8, column 61. Don't
+use whitespace at the end of lines. (Severity: 1)
"die" used instead of "croak" at line 14, column 3. See page 283 of P
+BP. (Severity: 3)