Tengo el siguiente código:¿Por qué Perl reemplaza mi cadena con "1"?
#$domain = domainname.co.uk
#$root = public_html
#$webpage = domainname.co.uk/foo/bar/foobar.html
my $string = ($webpage =~ s/^$domain//g);
my $linkFromRoot = $dbh->quote($root . $string);
Solemos esto funciona bien, pero por alguna razón, la salida es "public_html 1" en lugar de "public_html/foo/bar/foobar.html".
¿Alguien puede ver por qué?
Cuando se encuentre con estos problemas, comience a bisectar su código para encontrar dónde se muestran los datos del problema. En este caso, verificaría el valor de '$ string' antes de usarlo, descubriría que es' 1', luego leería en el operador de sustitución para ver qué está haciendo. :) –
Off-topic nuevamente, pero ¿por qué DBI 'quote' en lugar de placeholders? :) – hobbs