昨日、perl スクリプトで行き詰まりました。単純化してみましょう。文字列があるとします (たとえば、ABCDEABCDEABCDEPABCDEABCDEPABCDEABCD など)。まず、"E" が来るすべての位置で文字列を分割し、次に、ユーザーが希望する場所で文字列を分割します。ただし、条件として、プログラムは E の後に P が続くサイトで切断してはなりません。たとえば、このシーケンスには 6 つの Es があるため、7 つのフラグメントを取得する必要がありますが、2 つの Es の後に P が続くため、5 つのフラグメントのみが取得されます。出力のフラグメント。
2 番目のケースについて助けが必要です。ユーザーがシーケンス内の E の 5 番目と 10 番目の位置でこのシーケンスをカットしたくないと仮定すると、プログラムがこれら 2 つのサイトのみをスキップできるようにする対応するスクリプトは何になるでしょうか? 最初のケースのスクリプトは次のとおりです。
my $otext = 'ABCDEABCDEABCDEPABCDEABCDEPABCDEABCD';
$otext=~ s/([E])/$1=/g; #Main cut rule.
$otext=~ s/=P/P/g;
@output = split( /\=/, $otext);
print "@output";
助けてください!