title: bsd_glob behaving differently on different machines
body: <p>I am using <code>bsd_glob</code> to get a list of files matching a regular expression for file path. My perl utility is working on <code>RHEL</code>, but not on <code>Suse 11/AIX/Solarix</code>, for the exact same set of files and the same regular expression. I googled for any limitations of <code>bsd_glob</code>, but couldn't find much information. Can someone point what's wrong? </p>
  
  <p>Below is the regular expression for the file path I am searching for:</p>
  
  <pre><code>/datafiles/data_one/level_one/*/DATA*
  </code></pre>
  
  <p>I need all files beginning with DATA, in any directory present under 'level_one'.<br>
  This works perfectly on my <code>RHEL</code> box, but not on any other <code>Unix</code> and <code>Suse Linux</code>.</p>
  
  <p>Below is the code snipped where I am using <code>bsd_glob</code></p>
  
  <pre><code>foreach my $file (bsd_glob ( "$fileName", GLOB_ERR )) {
      if ($fileName =~ /[[:alnum:]]\*\/\*$/) {
          next if -d $file;
          $fileList{$file} = $permissions;
          $total++;
      }   
      elsif ($fileName =~ /[[:alnum:]]\*$/) {
          $fileList{$file} = $permissions;
          $total++;
      }   
      else {
          $fileList{$file} = $permissions;
          $total++;
      }   
  }
  </code></pre>
  
  <p>In this case where I am facing the issue, <code>/datafiles/data_one/level_one/*/DATA*</code> is being passed to <code>bsd_glob</code>. I am creating a map (<code>$fileList</code>) of files that are returned by <code>bsd_glob</code> based on the regular expression I am passing to it. <code>$permissions</code> is a predefined value.</p>
  
  <p>Any help is appreciated.</p>