use Encode;
use Digest::SHA1;
use Text::ParseWords;
+use String::ShellQuote;
our @EXPORT_OK = qw(
lock_file
sub shellquote {
my $str = shift;
- return "''" if !defined ($str) || ($str eq '');
-
- die "unable to quote string containing null (\\000) bytes"
- if $str =~ m/\x00/;
-
- # from String::ShellQuote
- if ($str =~ m|[^\w!%+,\-./:@^]|) {
-
- # ' -> '\''
- $str =~ s/'/'\\''/g;
-
- $str = "'$str'";
- $str =~ s/^''//;
- $str =~ s/''$//;
- }
-
- return $str;
+ return String::ShellQuote::shell_quote($str);
}
# split an shell argument string into an array,
Package: libpve-common-perl
Architecture: all
-Depends: ${perl:Depends} ${misc:Depends}, libdevel-cycle-perl, libwww-perl, libjson-perl, liblinux-inotify2-perl, libio-stringy-perl, liburi-perl, libdigest-sha1-perl
+Depends: ${perl:Depends} ${misc:Depends}, libdevel-cycle-perl, libwww-perl, libjson-perl, liblinux-inotify2-perl, libio-stringy-perl, liburi-perl, libdigest-sha1-perl, libstring-shellquote-perl
Description: Proxmox VE base library
This package contains the base library used by other Proxmox VE components.