如何在Perl中使用否定式的文字字符串“ STDIN”?

时间:2018-10-22 19:39:05

标签: regex perl

我正试图在后面使用负数来过滤掉一些字符串的匹配项。奇怪的是,如果我使用字符串“ STDIN”,那么代码实际上是在尝试使用句柄。

示例:

perl -e 'use strict;  print "/some/file/path/STDIN.json" =~ m/(?<!STDIN\.)json$/i;'

投掷:

Variable length lookbehind not implemented in regex m/(?<!STDIN\.)json$/ at -e line 1.

但是,如果我摆脱了'STDIN'的前导'S',翻译将不会像预期的那样抱怨。

perl -e 'use strict;  print "/some/file/path/STDIN.json" =~ m/(?<!TDIN\.)json$/i;'

口译员没有抱怨。

是否有一些特殊的方法可以逃脱“ STDIN”?还是我缺少一些简单的东西?

作为参考,我正在使用perl 5.22.2

0 个答案:

没有答案