Perl eval does not have such a limit; the following works for me with no error, for instance:
my $line = '/' . 'x' x 100000 . '/';
my $regex = eval 'qr' . $line;
print "error: $@\n" if $@;
my $myLength = length($regex);
print "Length of string: $myLength\n";
output:
Length of string: 100005
You have something wrong in your input; examine $@ after the eval to see what.