松島
秩父
hogehoge 癒し系
松本

↓上のテキストを処理後、下のようにしたい↓

松島
秩父→hogehoge 癒し系
松本

処理の1つ先回りをして、対象の1つ前の行の先頭に「hogehoge」がある場合、対象の列とhogehogeが先頭に存在する列に対して指定の処理するようにしたいのですが、

for my $ii (0..$#text) {
if("hogehoge" eq substr($text[$tn+1],0,8)){
$text1 .= "$text[$ii]→$textall[$ii+1]\n";
$ii++;
}else{$text1 .= "$textall[$ii]\n";}
}
↑のように組んで実行したところ

松島
秩父→hogehoge 癒し系
hogehoge 癒し系
松本

のようになってしまいます。
ループのたびにmyで初期化してしまうため$ii++が無駄になってしまうために起こってると思うのですが、$ii++を生かすようにするには、どのように変えたらよいですか?