#!/usr/bin/perl -w # id3set - Stupid simple way to set IDv3 tags on an MP3. # # Usage: id3set "Band Name - Song" song.mp3 # # This script just sets artist and song title info. It's useful for MP3s that # completely lack this information. # # --Kirsle # http://sh.kirsle.net/ use strict; use warnings; use MP3::Info; if (scalar(@ARGV) == 0 || scalar(@ARGV) > 2) { die "Usage: $0 file.mp3"; } my $info; my $file; if (scalar(@ARGV) == 1) { # Only a file given. if ($ARGV[0] =~ /^(.+? - .+?)\.mp3$/i) { # Good enough! $info = $1; $file = shift; } } else { $info = shift; $file = shift; } if (!-f $file) { die "$file: file not found."; } my ($band, $song) = $info =~ /^(.+?) - (.+?)$/; $band = trim($band); $song = trim($song); print "Artist: $band\n"; print " Title: $song\n"; MP3::Info::set_mp3tag($file, $song, $band); sub trim { $_ = shift; s/^\s+//g; s/\s+$//g; return $_; }