Это домашняя работа?Если это так, то вы должны сказать об этом в своем вопросе, и ответы, которые вы получите, будут направлены на то, чтобы помочь вам научиться, а не просто предлагать решение.
Вы объявляете массив с одним элементом, содержащим всю строку предложения,включая открытие и закрытие двойных кавычек.Это не может быть тем, что вы предполагали, поскольку ваш цикл будет выполняться только один раз с $ word, установленным в строку предложения.
Вы должны запустить каждую программу Perl с
use strict;
use warnings;
, чтобы упростить отладку.1008 *
Приведенный ниже код делает то, что вы описываете.
use strict;
use warnings;
my $sentence = "A short quick brown fox jumps over the lazy dog running in the market";
my @sentence = split ' ', $sentence;
my @sample = grep /fox/ .. /the/, @sentence;
print "words between: @sample\n";
@sample = @sentence[-2..-1];
print "2 words from right: @sample\n";
@sample = @sentence[0..1];
print "2 words from right: @sample\n";
ВЫХОД
words between: fox jumps over the
2 words from right: the market
2 words from right: A short