#!/usr/bin/perl # a horribly funny script that shows how flexible udev can really be # This is to be executed by udev with the following rules: # # KERNEL="hd*[!0-9]|sr*", PROGRAM="name_cdrom.pl $tempnode", SYMLINK+="%c" use strict; use warnings; use CDDB_get qw(get_cddb); # following variables just need to be declared if different from defaults my %config; $config{'CDDB_HOST'} = "freedb.freedb.org"; # set cddb host $config{'CDDB_PORT'} = 8880; # set cddb port $config{'CDDB_MODE'} = "cddb"; # set cddb mode: cddb or http $config{'CD_DEVICE'} = $ARGV[0]; # set cd device $config{'input'} = 0; # no user interaction my %cd = get_cddb(\%config); if (!defined $cd{title}) { exit 1; } # print out our cd name $cd{artist} =~ s/ /_/g; $cd{title} =~ s/ /_/g; print "$cd{artist}-$cd{title}\n"; exit 0;