Next Trivial Utilities 118

print: File type guessing

        sub file_type {
          my $file = shift;
          local $_ = qx{file -Lb $file};  # -b: Do not prepend filename to output
          /JPEG/ && return 'jpg';
          /GIF/ && return 'gif';
          /HTML/ && return 'html';
          /PostScript/ && return 'ps';
          /HP PCL/ && return 'pcl';
          /(ASCII( English| mail)?|news) text/ && return 'txt';
          /PDF/ && return 'pdf';
          /TeX DVI/ && return 'dvi';
          /gzip/ && return 'gz';
          /compress/ && return 'Z';
          /troff/ && return '3';
          /perl script/ && return 'pl';
          /\w+ script/ && return 'txt';
          /PPM/ && return 'ppm';
          /Microsoft Office/ && return 'doc';
          return '???';
        }


Next Menu Copyright © 2012 M. J. Dominus