Perlで、以下に記述するようなロジックを書きたいのですが、自分で書くとゴチャゴチャしてしまいます。シンプルな書き方はあるでしょうか。


ロジック:
"01"、"02"、"03"、"04" を "05" に書き換える。
"06"、"07"、"08"、"09" を "10" に書き換える。
"11"、"12"、"13"、"14" を "15" に書き換える。
"16"、"17"、"18"、"19" を "20" に書き換える。
~省略~
"51"、"52"、"53"、"54" を "55" に書き換える。
"56"、"57"、"58"、"59" を "00" に書き換える。

回答の条件
  • 1人5回まで
  • 登録:
  • 終了:2011/01/18 14:07:24
※ 有料アンケート・ポイント付き質問機能は2023年2月28日に終了しました。

ベストアンサー

id:b-wind No.1

回答回数3344ベストアンサー獲得回数440

ポイント100pt
$num= "56";
$num =~ s/([0-5])([0-9])/((($1+($2>=6?1:0)))%6).($2>=1&&$2<=5?5:0)/e;
print "$num";

こんなとこかな。

id:dedara

ありがとうございます!

想定してたよりシンプルでした。

なんとか中身も理解できたので、そのまま使わせていただきます。

またよろしくお願いします。

2011/01/18 14:05:20

コメントはまだありません

この質問への反応(ブックマークコメント)

「あの人に答えてほしい」「この質問はあの人が答えられそう」というときに、回答リクエストを送ってみてましょう。

これ以上回答リクエストを送信することはできません。制限について

回答リクエストを送信したユーザーはいません