use Getopt::Std; getopts("lp"); # '-p' and '-l' will be recognized my $PORTRAIT = 1 << 3; # b3 = PORTRAIT orientation my $LANDSCAPE = 1 << 4; # b4 = LANDSCAPE my $LAYOUT_ERROR = $PORTRAIT | $LANDSCAPE; my $status = 0; if (defined ($opt_p)) { $status |= $PORTRAIT; } if (defined ($opt_l)) { $status |= $LANDSCAPE; } printf(" \$LANDSCAPE = %016b\n", $LANDSCAPE); printf(" \$PORTRAIT = %016b\n", $PORTRAIT); printf("\$LAYOUT_ERROR = %016b\n", $LAYOUT_ERROR); printf(" \$status = %016b\n", $status); if ( ($status & $LAYOUT_ERROR) == $LAYOUT_ERROR ) { die("ERR: Can't do both PORTRAIT and LANDSCAPE\n"); } printf("Continuing...\n");