in reply to Sniffing binary data, heuristics?

I'd try /[^:[print]:]/ ? 'non-printable' : 'printable' and maybe not even go farther if the performance is ok.

Replies are listed 'Best First'.
Re: Re: Sniffing binary data, heuristics?
by McMahon (Chaplain) on May 25, 2004 at 19:30 UTC
    This interests me as well. Could you elaborate on what  /[^:[print]:]/ does?
      That's a typo :). What diotalevi meant to write was /[^[:print:]]/ and it means (as per `perldoc perlre'):
      C:\>perl -MYAPE::Regex::Explain -le"print YAPE::Regex::Explain->new(qr +/[^[:print:]]/)->explain" The regular expression: (?-imsx:[^[:print:]]) matches as follows: NODE EXPLANATION ---------------------------------------------------------------------- (?-imsx: group, but do not capture (case-sensitive) (with ^ and $ matching normally) (with . not matching \n) (matching whitespace and # normally): ---------------------------------------------------------------------- [^[:print:]] any character except: alphanumeric, punctuation, and whitespace characters ---------------------------------------------------------------------- ) end of grouping ----------------------------------------------------------------------

      MJD says "you can't just make shit up and expect the computer to know what you mean, retardo!"
      I run a Win32 PPM repository for perl 5.6.x and 5.8.x -- I take requests (README).
      ** The third rule of perl club is a statement of fact: pod is sexy.