タイトルに特定文字列hogeが含まれている場合のみ、タイトルを[これはテストです]hogefugaにする

以下のGnewsを再度送信しましょうネタにちょっと関連するんだけど、このGnewsをなぜ先に復旧させたかというと、これは周囲の人間数人に配信していたからなんです。迷惑の範囲が広い。

で、今回はまぁまだ仮復帰ということも有り、「本番じゃないから動作は保証しません」的なせりふをどっかにいれておきたいなと思ったわけです。




まず、最初の部分。「タイトルに特定文字列hogeが含まれている場合」を判定するには

 rule:
      expression: $args->{feed}->{title}=~ m/hoge/

とすればよい。完全一致なら eqなのかな?これを使えば同じyaml内で複数の組み合わせの配信先に配信できる。

で、「タイトルを[これはテストです]hogeにする」は文字列置換で

  rule:
      expression: $args->{feed}->{title}=~ s/hoge/[これはテストです] hoge/g


ここまでは知ってる。で、じゃあ条件が二つあって「タイトルに特定文字列hogeが含まれている場合のみ、タイトルを[これはテストです]hogeにする」のはどうするの?というのが今日のお勉強。きっとifとか使うんだろうなぁ…と思ったら、やっぱりそうでした。

    expression: $args->{feed}->{title}=~ m/hoge/ if ($args->{feed}->{title}=~ s/hoge/[TEST]  hoge/g);

で了。きっともっと綺麗な解決もあるのだろうけど。