#!/usr/bin/perl -w#!/usr/bin/perl -w use strict; # Simple script to identify file types and rename stuff accordingly # Also my first script to use strict; ;D my $bufferlength = 10; my %signatures = ( "zip" => "PK\x03\x04", "rar" => "Rar!", "mp3" => "\xFF[\xF0-\xFF]", "gz" => "\x1f\x8b\x08", "tar" => "\x66\x69\x78\x6e", ); while (my $filename = shift) { open( FILE, "< $filename" ) or die "Can't open $filename : $!\n"; binmode FILE; # just to be on the safe side my $read = read( FILE, my $buffer, $bufferlength ) or die "Can't rea +d from $filename : $!\n"; close FILE; # if the file was too small, skip it next if $read != $bufferlength; foreach (keys %signatures) { if ($buffer =~ /^$signatures{$_}/) { if ($filename !~ /$_$/i) { + my $newname = $filename . "." . $_; print "$filename -> $newname\n"; rename( $filename, $newname ) or die "Can't rename $filename t +o $newname : $!\n" }; last; }; + }; };

In reply to File identifier by Corion

Title:
Use:  <p> text here (a paragraph) </p>
and:  <code> code here </code>
to format your post, it's "PerlMonks-approved HTML":



  • Posts are HTML formatted. Put <p> </p> tags around your paragraphs. Put <code> </code> tags around your code and data!
  • Titles consisting of a single word are discouraged, and in most cases are disallowed outright.
  • Read Where should I post X? if you're not absolutely sure you're posting in the right place.
  • Please read these before you post! —
  • Posts may use any of the Perl Monks Approved HTML tags:
    a, abbr, b, big, blockquote, br, caption, center, col, colgroup, dd, del, details, div, dl, dt, em, font, h1, h2, h3, h4, h5, h6, hr, i, ins, li, ol, p, pre, readmore, small, span, spoiler, strike, strong, sub, summary, sup, table, tbody, td, tfoot, th, thead, tr, tt, u, ul, wbr
  • You may need to use entities for some characters, as follows. (Exception: Within code tags, you can put the characters literally.)
            For:     Use:
    & &amp;
    < &lt;
    > &gt;
    [ &#91;
    ] &#93;
  • Link using PerlMonks shortcuts! What shortcuts can I use for linking?
  • See Writeup Formatting Tips and other pages linked from there for more info.