Dateitypen bestimmen mit File::LibMagic
Veröffentlicht von Thomas Fahle am (Permalink)
File::LibMagic von Andreas Fitzner ermöglicht die Bestimmung des Typs oder MIME-Typs einer Datei. Dazu nutzt es die Bibliothek libmagic des bekannten Unix/Linux-Tools file.
Beispiel
#!/usr/bin/perl use warnings; use strict; use File::LibMagic ':easy'; my @files = qw( /bin/ls /etc/localtime /etc/timezone /etc/motd ); foreach my $file ( @files ) { print "$file:\n\t", MagicFile( $file ),"\n"; }
Das Programm erzeugt auf meinem System (Ubuntu 8.04) folgende Ausgabe:
/bin/ls: ELF 32-bit LSB executable, Intel 80386, version 1 (SYSV), for GNU/Linux 2.6.8, dynamically linked (uses shared libs), stripped /etc/localtime: timezone data /etc/timezone: ASCII text /etc/motd: symbolic link to `/var/run/motd'
Ubuntu Installationstipps
File::LibMagic benötigt libmagic.
$ sudo apt-get install libmagic1 $ sudo apt-get install libmagic-dev
Siehe auch
- File::LibMagic Perlwrapper for libmagic (file-4.x or file-5.x)
- File::MMagic
- File::MimeInfo::Magic
- man file
- Perlmonks: File::MMagic vs File::MimeInfo
- Perlmonks: Distinguishing text from binary data
- Perl Tools Projekt: file