我有一个简单的Perl程序,它只是将从文件读取的字符串连接到前缀'qr'
my $regex = eval 'qr'.$line;
my $myLength = length($regex);
print "Length of string: $myLength\n";
$line
的大小非常大(~100000个字符)。似乎eval
拒绝工作。我得到的$myLength
只有0,而我仍然可以打印$line
。你对这个问题有什么建议吗?
谢谢,
答案 0 :(得分:0)
Perl eval没有这样的限制;以下对我没有任何错误,例如:
my $line = '/' . 'x' x 100000 . '/';
my $regex = eval 'qr' . $line;
print "error: $@\n" if $@;
my $myLength = length($regex);
print "Length of string: $myLength\n";
输出:
Length of string: 100005
你的输入有问题;在eval之后检查$ @以查看内容。