单独的Javascript与'True'结果一起工作正常。但是当我尝试将其插入Perl语言时,它无效。可能它没有正确读取正则表达式?我对这两种语言都很陌生。
#!/usr/bin/perl
print "Content-type: text/html\n\n";
print "<script type='text/javascript'>
var reZip = /^\d{5}$/
var num = '12345';
if(reZip.test(num))
{
alert('True');
}
else
{
alert('False');
}
</script>";
答案 0 :(得分:2)
$/
是Perl中的记录分隔符变量(默认情况下为"\n"
)。在""
字符串中,它在
var reZip = /^\d{5}$/
另外,因为这是一个""
字符串,\d
被解释为一个未知的转义符,只用d
删除。
Heredocs对于多行字符串更好,您可以使用单引号变体来防止插值。
print <<'END';
<script type='text/javascript'>
var reZip = /^\d{5}$/
var num = '12345';
if(reZip.test(num))
{
alert('True');
}
else
{
alert('False');
}
</script>
END