To press a switch, you'll need some kind of expensive solenoid or servo, and mechanical linkages, and mounting hardware, and trigger pressure characterizations, and power-loss state characterization, and a 12V power supply, and driver circuitry, and it all adds up to a lot of work to push the physical trigger.
If I were you, though, and had access to the hardware, I'd characterize the circuit the trigger switch is attached to (is it normally open or normally closed is really all you need to know), and attach a simple relay or MOSFET to an I/O pin on a microcontroller (I'd suggest the relay, because it's closer to the original circuit, avoids any voltage referencing issues, and has a mechanical spring to ensure that if your circuit goes dead, the trigger won't go off). Then, remove the switch from the gun, and attach your circuit.
As far as microcontroller eval boards ready to use out of the gate, there is the arduino family of course. but also consider the msp430 launchpad for $4.30. good instruction set and similar in performance to the avr with a lean toward low power/cost. For $20 you can get the stm32f4 discovery (not to be confused with the stm32 value line discovery or stm8 family) which is generally less than you would pay for a usable arduino ($35-$50) but runs circles around the arduino 168Mhz, floating point unit, caches, etc. In the upper end of the arduino price range there is another arm the mbed (mbed.org), which is probably the closest to the arduino sandbox experience.
If you want to stay in a standbox and just make api calls the arduino is probably where you want to live, there is the mega for more performance or go with the leaflabs maple which is arm based but attempts to provide the arduino sandbox experience.
You can get a lot more performance, bang for your buck, etc if you take on a little more responsibility and knowledge about what is going on. I recommend all three platforms (avr, msp, arm/thumb) and multiple vendors (avr and msp are locked in but arm is sold by everyone with different peripherals and I/O). For example you may be used to a platform that has no pull ups on the gpio lines and have to use external components where another chip or vendor provides that on chip at a comparable price/performance point. Likewise you may like bit banging a serial port or spi bus but find that for the same money, power, size, etc some other vendor has hardware to assist in that interface.
if nothing else it is in your best interest as a programmer and someone wanting to get into hobby electronics to know more about what is going on outside the sandbox. As a way to get into this hobby electronics world the arduino is a very very comfortable transition from application programming on an operating system. sparkfun has some kits now that include the serial interface and a few periperhals there is a lilypad kit (an arduino platform) and maybe a pro kit, both are not the arduino shield form factor if that matters. sparkfun sells retail boxed and many other flavors of arduinos, the uno, etc. (the st and msp boards mentioned above you should start at ti or st's website or go to github.com/dwelch67 and I have links to the various boards in my examples).
Best Answer
Here are some instructions. If you just want to know what goes where in your perfboard, read on.
Here's the pinout for the ATmega328:
Firstly, you'll need a LM7805 or something similar to get a 5V. If you don't know how these work, refer to this image.
Power
Now, connect the + end of your 12V battery to the IN of 7805, and - to the COM. Hereafter, I shall refer to any connection from COM as "GND" and any connection from OUT as "Vcc".
Reset
Connect Vcc to Pin 7 and 20 of the ATmega328, and GND to pin 8 and 22. Connect Vcc to a ~10 kiloohm resistor, and connect the other end of that to the RST pin (pin 1). Also, connect GND to a reset switch, and the other terminal of the reset switch to pin 1. When the reset switch is on, the Arduino will restart. If you don't want a reset switch, just connect Vcc directly to pin 1.
Clock
Connect GND to the negative terminals of two 22 picofarad capacitors. Connect one capacitor to pin 9, and the other capacitor to pin 10.
Now, connect a 16MHz clock between pins 9 and 10:
Analog reference
If you use the AREF pin, just connect your AREF to pin 21.
Rest of the pins
These are labelled in the diagram above. Pins 23-28 are A0-A5. Pins 2-6 are digital 1-4, 11-19 are digital 5-13. Use these normally. Note that digital pin 13 (pin 19 on the microcontroller) won't have an LED anymore, but if you wish to connect one, connect it to an LED, followed by a 200-300 ohm resistor, followed by ground:
Programming
If your Arduino is a DIP Arduino (the ATmega is removable), then just program it using the IDE, remove the ATmega, and place it in your perfboard circuit (I assume you're using an IC holder). If the Arduino has a surface mount ATmega, see How can I use my SMD Arduino to program a separate DIP ATmega328?.
That's it! Now you can easily take an Arduino project to a perfboard!
Here's the final schematic: