perl -MO=Deparse,-p $down="false"; open (FH, $log) || $down = "true"; __END__ Can't modify logical or (||) in scalar assignment at - line 2, near ""true";" - had compilation errors. ($down = 'false'); ((open(FH, $log) || $down) = 'true');