我有一个file1
,其中包含一列中的字符模式列表,如下所示:
abcde
defgh
uvwxy
...
和file2
这只是一个大字符串,如下所示:
abcdefghijklmnopqrstuvwxyz
我想找到file1
字符串与file 2
字符串之间匹配的位置。
为此,我使用了索引函数:
#!/usr/bin/perl
use strict;
use warnings;
my $string = "abcdefghijklmnopqrstuvwxyz"
my $char = "uvwxy" ;
my $result = index($string, $char);
print "Result: $result\n";
有效,它匹配并给我这个位置。
问题是我必须手动输入 我要匹配的每个字符模式。
如何告诉软件获取/.../file1.txt
中的字符模式列表?
答案 0 :(得分:0)
将文件读入数组然后循环。
尝试使用:
#!/usr/bin/perl
use strict;
use warnings;
open my $fh, '<', 'path/to/file' or die "unable to open file: $!";
chomp( my @search = <$fh> );
my $string = "abcdefghijklmnopqrstuvwxyz";
foreach my $char (@search) {
my $pos = index( $string, $char );
if ( $pos != -1 ) {
print "found $char at position $pos\n";
}
}