6.9 シェルのワイルドカードを使用する

次のサブルーチンを使用する。

sub glob2pat {
  my $globstr = shift;
  my %patmap = (
      '*' => '.*',
      '?' => '.',
      '[' => '[',
     ']' =>  ']',
  );
  $globstr =~ s{(.)} { $patmap{$1} || "\Q$1" }ge;
  return '^' . $globstr . '$';