http://qs321.pair.com?node_id=110275

camelman has asked for the wisdom of the Perl Monks concerning the following question:

I was reading through Advanced Perl Programming and read the chapter on Eval. I was trying to get a script to work with eval and system(), but I can't - probably because I really don't understand it.
eval { system("ls") };
Works fine. But consider this:
eval { system("fake_command) }; print "$@";
I get an error on the second example, but nothing prints for $@. The main reason I was looking at this (besides trying to learn something new) was because:
system("ls") or die $!;
runs but then produces an error about dying on that line. I'm probably way off the mark here, but I'm trying. Please don't flog me. TIA . . . Kevin