http://qs321.pair.com?node_id=258320


in reply to How do I read a CD volume label?

What is the significance of the numbers 32 and 32808? I don't think they are doing what you expect them to be doing.

I suspect you want to read 32 bytes starting at 32808 bytes into the CD. What you are asking read to do is read the first 32 bytes from the cdrom and place them into $lable starting at a 32808 byte offset. This will put 32808 nul characters into $lable followed by the first 32 bytes from the cdrom.

To do what I think you are trying to do, you need to first seek to the right offset, then read 32 bytes. Try this.

open CD,"<","/dev/cdrom" or die "Unable to open CDROM: $!"; seek CD,32808,0 or die "Unable to seek: $!"; read CD,$lable,32 or die "Unable to read from CD: $!"; close CD; print $lable,$/;

I tried this with a data disc on my system and it displayed Debian 3.0 r0 i386 Bin-1        1.

90% of every Perl application is already written.
dragonchild