in reply to Memory addressing

You can get the memory location of a variable by doing something like this:

use strict; use warnings; my @var=(1,2,3); my $var_ref=\@var; print "$var_ref\n"; print 0+$var_ref . "\n";

This would give you output looking something like this:

ARRAY(0x182f26c) 25358956

I don't know of any way to write directly to a memory location. In fact, AFAIK, the actual hardware protects against such actions by generating (I think) a segmentation fault. I think you'd have to get down to the bare metal to do this. I agree, it's fun to trash your system, but they keep making it harder. Unless, of course, you use Windows.