As
mickeyn said, it is a precedence problem. With the hight precedence operator || you need an extra set of parentheses:
(my (undef,undef,$uid,$gid) = getpwnam(q[user1])) || die "oh no";You asked "Should I start using
or consistently?" IMO it is a good idea to do
everything consistently, or to have a good reason for not doing so.