The problem as I see it is thus: > require "GUSI.ph"; > > unless (@ARGV) { This section will prompt the user for a file if @ARGV is undefined/empty, which is always the case when running the script (as opposed to a droplet). If the above line is true (i.e. no @ARGV) then the foreach below will never execute because @ARGV is never populated. Try adding the code indicated below. > $prompt = "Select a file..."; > $default = "Wild Colonials:Desktop Folder:"; > $file = MacPerl::Choose(&GUSI::AF_FILE, 0, $prompt, > &GUSI::pack_sa_constr_file(@types), > ($default ? &GUSI::CHOOSE_DEFAULT : 0),$default); <--BEGIN NEW CODE--> push @ARGV, $file; <--END NEW CODE--> > } > foreach $file (@ARGV) { > print "\n","###############\n", $file, "\n"; > print join "/", reverse MacPerl::GetFileInfo(@ARGV); > print "\n###############\n"; > > BEGINNING: > $type = MacPerl::Ask('Type?'); > if ($type eq 'die') {die "\n####################\n"} > if ($type eq 'list') { > mime_list(); > goto BEGINNING; > } > if ($type eq 'list all') { > mime_list_all(); > goto BEGINNING; > } > mime_print(); > > $creator = MacPerl::Ask($type.'/Creator?'); > MacPerl::SetFileInfo($creator, $type, $file); > print "\n####################\n"; > } > ===== Want to unsubscribe from this list? ===== Send mail with body "unsubscribe" to macperl-request@macperl.org