(@dir0) = readdir(ID) || print "Couldn't read directory contents.\n"; #### @dir0 = (readdir(ID) || 1); # assuming print doesn't fail #### (@dir0 = readdir(ID)) || print "..."; #### @dir0 = readdir(ID) or print "..."; #### 2;0 juerd@ouranos:~$ perl -MO=Deparse,-p -e'(@dir) = readdir(ID) || print "X"' (@dir = (readdir(ID) || print('X'))); -e syntax OK