暇な人に対するアホな質問です。

昔自分で作った記述ですが、昔すぎて作ってた時の記憶が出てきません。
特定のケースで不備が出る場合とか、そうゆうのを思いついたら教えてください。

処理の目的はどんな文字でも一緒に混ぜても大丈夫、みたいな感じです。
たぶん一般的な通信のヘッダーとかの分解にも使えたような気がします。



sub Separator_join ($$;@) {

    my $separat =  shift           or return();
    my $enclose =  shift           or return();
    my @entity  =  @_              or return();
       $separat ne $enclose        or return();

    map {s/($separat+)/$separat$1/go}  @entity;
    return( join qq[$enclose$separat$enclose], @entity );

}
#▼Separator_joinで生成されたスカラーに対し、安全にセパレータで分割してリストを返す
sub Separator_split ($$$) {

    my ($separat, $enclose, $all) = @_;
    my @entity = split /$enclose$separat$enclose/, $all;

    map{s/$separat(?!$separat)//go} @entity;
    return(@entity);