while (<>) { if (/^!(.*)/) {eval system $1;} else {eval; print $@;} }