If-Geschichten
prüfen auf "true" (wahr) oder "false" (falsch):
Wir haben es hier mit 2 Bedingungen zu tun :
Die eine "Bedingung" für das Durchlaufen des Codes "im" If-Konstrukt ist die "Wetigkeit" von $width (nur ein Operand). Ist $width (valide) "verfügbar" ergibt dies "true", ansonsten "false". Wäre man extrem korrekt, könnte man auch diesen einen Wert in Klammern fassen.
Die andere "Bedingung" ist $width_orig<$height_orig. Geprüft wird, ob ein bestimmter Operand kleiner ist, als ein anderer. Ist dem so , ergibt dies wiederum true, ansonsten ebenfalls false.
Die "übergreifende" Bedingung "&&" (UND/AND) besagt, dass beide "true"sein müssen, um das Kriterium zum Ausführen des Codes im If-Block zu starten.
Die Klammerung macht nix anderes, als dem Interpreter mitzuteilen, welche Parameter/Operanden/Operatoren zu einer Bedingung gehören.
Mach die Klammern doch mal wech ...