##
@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