in reply to Nested OR as a control structure

Well i'm not sure i understand what you expect that to do. Or doesn't take a code block or a reference on the right, it takes an expression. So you can't do {} or sub {}. I think your control structure is similar to the following but i'm not realy sure. Also in the future you should consider includeing whatever errors you get because "I'm still pondering the syntax of why it fails." isn't very discriptive. The following code emulates how i read your example but is probably not what you had in mind.

use strict; use warnings; sub test1 {print "Hello\n"; return 0;} sub test1remainder {print "Bye\n";return 1;} sub test2 {print "\tHello2\n"; return 0;} sub test2remainder {print "\tBye2\n";return 1;} sub test3 {print "\t\tHello3\n"; return 1;} sub test3remainder {print "\t\tBye3\n";return 1;} unless(0) { if (test1) { test1remainder and exit 0}; if (test2) { test2remainder and exit 0}; if (test3) { test3remainder and exit 0}; } __DATA__ C:\test>perl or.pl Hello Hello2 Hello3 Bye3

___________
Eric Hodges