7 if ($n =~ /^0/) { $n = oct $n; }
16 $a =~ /^(\w+):(.*)$/ or die "bad spec ADDR:FILE";
21 open my $fh, "<", $file;
23 sysread $fh, my $buf, 4096;
24 last READ unless length $buf;
29 $addr >= $BASE && $LIMIT >= $addr + length $body
30 or die "out of bounds";
33 my $end = $addr + length $body;
34 my $before = $addr > length $MEM
35 ? $MEM . "\0" x ($addr - length $MEM)
36 : substr $MEM, 0, $addr;
37 my $after = $end <= length $MEM
40 $MEM = $before . $body . $after;
43 syswrite STDOUT, $MEM;