Dado la sesión interactiva en el depurador:
DB<1> $str = "world"
# 012345678901234567890123456789012
DB<2> $data = "hello worldjust another statement"
DB<3> $res = $data =~ m/$str/g
DB<4> x pos($data)
0 11
DB<5> $s = "hello"
DB<6> $res = $data =~ m/$s/g
DB<7> x pos($data)
¿Que se imprimira después del comando de la línea 7? {~0 =undef ~5 } Rellene el código que falta para el recómputo de las direcciones finales de las cadenas constantes:
...
##### En compile, despues de haber calculado las direcciones
Tree::Transform::match_and_transform_list(
NODES => $tree->\{STS\},
PATTERN => sub \{
$_[0]->isa('
{ =STR =%50%STRING }
')
\},
ACTION => sub \{ $_[0]->\{OFFSET\} += $global_address; \}
);