Adding either of the two lines to your program will make Perl tell you what goes wrong:
#!/usr/bin/perl -w # or use warnings;
The -w switch or use warnings; lets Perl tell you what it considers dodgy or unintended practice. For example, comparing two strings that don't look like numbers as numbers. Perl considers atob and atoc to be strings for example, which likely is not what you intended in the first place.
Adding the following line prohibits the use of barewords as strings, which even more likely prevents you from making mistakes like the one you did. In fact, it prevents so many mistakes like misspelling and reference errors, this line should be at the top of all your Perl programs:
use strict;
With that line, Perl tells you that:
Bareword "atob" not allowed while "strict subs" in use at ...
which is an immediate hint. Either declare atob as a subroutine, or use $atob, as you propably intended.
In reply to Re: if logic OR parentheses problem
by Corion
in thread if logic OR parentheses problem
by Ellhar
| For: | Use: | ||
| & | & | ||
| < | < | ||
| > | > | ||
| [ | [ | ||
| ] | ] |