何千もの文字を読み取り、一致する文字列を見つけようとするプログラムをPerlで作成しようとしています。文字列と次の 5 文字を出力する必要があります。また、それが見つかった場所、つまり何文字入っているかを出力する必要もあります。私は Perl にかなり慣れていません。今、授業で習っています。
これが私がこれまでに持っているコードです:
#!/usr/bin/perl
$sequence = 'abcd';
$fileName = 'file.txt';
#Opening file
unless (open(fileName, $fileName)) {
print "Cannot open file.";
exit;
}
@tempArr = <fileName>; #Adding the lines to an array
close fileName; #closing the file
$characters = join('', @tempArr); #making it a clean string
$characters =~ s/\s//g; #removing white lines
if (characters =~ m/$sequence/i) {
#Print $sequence and next five characters
}
else {
print "Does not contain the sequence.";
}
exit;
file.txt は次のようになります。
aajbkjklasjlksjadlasjdaljasdlkajs
aabasdajlakjdlasdjkalsdkjalsdkjds
askdjakldamwnemwnamsndjawekljadsa
abcassdadadfaasabsadfabcdhereeakj
「abcdheree」を印刷する必要があります