#!/usr/bin/perl use strict; $0=~m/([^\/]+)$/; my $cmdname=$1; my $cdrom="/mnt/$cmdname"; $cdrom="/dev/$cmdname" if(!(-d $cdrom)); if(!(-e $cdrom)) { print "Can't find mountpoint /mnt/$cmdname or device /dev/$cmdname!\n"; exit(1); } my $command=$ARGV[0]; select STDOUT; $|=1; if(!defined($command)) { $command='mount'; open(MOUNTS,') { if(m{\B$cdrom\b}) { $command='umount'; last; } } } if($command eq 'umount' or $command eq 'remount') { print "Trying to unmount $cdrom ... "; if(system('/bin/umount',$cdrom)==0) { print "OK\n"; if($cdrom=~/cdrom/i or $cdrom=~/dvdrom/i ) { system('/usr/bin/eject '.$cdrom); }elsif($cdrom=~/floppy/i) { system('floppycontrol','--eject'); } }else { print "FAIL\n"; } } if($command eq 'mount' or $command eq 'remount') { print "Trying to mount $cdrom ... "; if(system('/bin/mount' ,$cdrom)==0) { print "OK\n"; }else { print "FAIL\n"; } }