0

ファイル内の単語のすべてのインスタンスに続く 7 文字を取得する方法を探してい"ISBN="ます。ファイルには 1 行に 1 つずつありISBN=ます。

だから何か...

my @data = ();
my $word = "ISBN=";

foreach my $line (@file) {
    if (index($line, $word) ge 0) {
        my $d = next seven characters;
        push (@data, $d);
    }
}

私は見当もつかない...

4

3 に答える 3

3

正規表現のように聞こえ、キャプチャはより簡単になります:

if ($line =~ /ISBN=(.{7})/) {
    push @data, $1;
}
于 2013-04-11T00:31:36.560 に答える
3
if ($line =~ /\Q$word\E(.{7})/) {
  push(@data, $1);
}
于 2013-04-11T00:32:16.313 に答える