$package =~ s/[^-_0-9A-Za-z]//g;
my $type_desc = $type eq 'cls' ? 'document class' : 'package';
- my $exit = system(qq|TEXINPUTS=".:$dw:" kpsewhich $package.$type > /dev/null|);
+ eval { use String::ShellQuote; 1 } or warn "can't load String::ShellQuote" && return;
+ $dw = shell_quote $dw;
+ my $e_package = shell_quote $package;
+ my $e_type = shell_quote $type;
+
+ my $exit = system(qq|TEXINPUTS=".:$dw:" kpsewhich $e_package.$e_type > /dev/null|);
my $res = $exit > 0 ? 0 : 1;
print_result("Looking for LaTeX $type_desc $package", $res);