After learning of "eq" I fixed all the if statements (the original tests were simulating eq; <= and >=). the "###..." string above "#!" is to seperate the script off, not part of the script. For some reason if I write line three as... print "\n###############\n",@ARGV,"\n"; ...instead of... print "\n","###############\n",@ARGV,"\n"; ...it won't print the line out. (The line does show up once the program's ended, however) To answer your questions, I'm not using any perl book. I hope to get one this weekend as I have some free time, maybe even tomorrow. --nick --------perl below---------------------- #!perl -w print "\n","###############\n",@ARGV,"\n"; print join "/", reverse MacPerl::GetFileInfo(@ARGV); print "\n###############\n"; $type = MacPerl::Ask('Type?'); &mime_print; $creator = MacPerl::Ask($type.'/Creator?'); MacPerl::SetFileInfo($creator, $type, @ARGV); print "\n##############################\n"; sub mime_print { if ($type eq "TEXT") { print "\n"; print "TEXT/ttxt --> SimpleText","\n"; print "TEXT/MOSS --> Netscape","\n"; print "TEXT/JyWs --> PageSpinner","\n"; print "TEXT/McPL --> MacPerl text","\n"; return; } if ($type eq "ttro") { print "\n"; print "ttro/ttxt --> SimpleText read only","\n"; return; } if ($type eq "GIFf") { print "\n"; print "GIFf/ogle --> PictureViewer GIF","\n"; print "GIFf/GKON --> GraphicConverter GIF","\n"; return; } if ($type eq "JPEG") { print "\n"; print "JPEG/ogle --> PictureViewer GIF","\n"; print "JPEG/GKON --> GraphicConverter GIF","\n"; return; } if ($type eq "MPEG") { print "\n"; print "MPEG/ICQA --> ICQ mp3","\n"; print "MPEG/mAmp --> macAMP mp3","\n"; print "MPEG/SCPL --> 'MPEG file'","\n"; print "MPEG/???? --> internet mp3","\n"; return; } } ===== Want to unsubscribe from this list? ===== Send mail with body "unsubscribe" to macperl-request@macperl.org