    # File lib/compass/exec/sub_command_ui.rb, line 29
        def perform!
          $command = args.shift
          command_class = Compass::Commands[$command]
          unless command_class
            args.unshift($command)
            $command = "help"
            command_class = Compass::Commands::Default
          end
          @options = if command_class.respond_to?("parse_#{$command}!")
            command_class.send("parse_#{$command}!", args)
          else
            command_class.parse!(args)
          end
          cmd = command_class.new(Dir.getwd, @options)
          cmd.execute
          cmd.successful? ? 0 : 1
        rescue OptionParser::ParseError => e
          puts "Error: #{e.message}"
          puts command_class.usage if command_class.respond_to?(:usage)
        end