这是我的问题:我有 2 个数组。一个是字符数组,代表一个滑动窗口。字符从一开始就被转移并在最后被推动。我想使用第二个数组来存储对在字符移动时“跟随”字符的数组切片的引用。例子:
my @char_array = ('h','e','l','l','o','w','o','r','l','d');
my $char_arr_ref=[@char_array[1..$#char_array]];
print @$char_arr_ref, "\n"; # slice contains 'elloworld';
shift(@char_array);
push(@char_array), 'x';
print @$char_arr_ref, "\n"; # slice still contains 'elloworld', not 'lloworldx' as I need;
换句话说,我希望能够使用引用数组切片的第二个数组(例如,我会使用 C 中的指针数组)。
在 Perl 中有没有一种惯用的方法来做到这一点?
更新:这是进行快速文本搜索的大型程序的一部分。我打算使用引用哈希(例如,而不是非常缓慢的“索引”函数。我需要在 Perl 中执行此操作。