From 7eb283fbd220dec417b7ce761a98dc572ac0f421 Mon Sep 17 00:00:00 2001 From: Dietmar Maurer Date: Wed, 28 Mar 2012 07:58:05 +0200 Subject: [PATCH] moved dir_glob_regex() and dir_glob_foreach() from PVE::Storage --- Makefile | 2 +- data/PVE/Tools.pm | 33 +++++++++++++++++++++++++++++++++ debian/changelog | 7 +++++++ 3 files changed, 41 insertions(+), 1 deletion(-) diff --git a/Makefile b/Makefile index dd457b3..19b28b5 100644 --- a/Makefile +++ b/Makefile @@ -1,7 +1,7 @@ RELEASE=2.0 VERSION=1.0 -PKGREL=22 +PKGREL=23 PACKAGE=libpve-common-perl diff --git a/data/PVE/Tools.pm b/data/PVE/Tools.pm index 12b5ba2..9ab82f5 100644 --- a/data/PVE/Tools.pm +++ b/data/PVE/Tools.pm @@ -7,6 +7,7 @@ use IO::Select; use File::Basename; use File::Path qw(make_path); use IO::File; +use IO::Dir; use IPC::Open3; use Fcntl qw(:DEFAULT :flock); use base 'Exporter'; @@ -22,6 +23,8 @@ run_command file_set_contents file_get_contents file_read_firstline +dir_glob_regex +dir_glob_foreach split_list template_replace safe_print @@ -826,4 +829,34 @@ sub dump_logfile { return ($count, $lines); } +sub dir_glob_regex { + my ($dir, $regex) = @_; + + my $dh = IO::Dir->new ($dir); + return wantarray ? () : undef if !$dh; + + while (defined(my $tmp = $dh->read)) { + if (my @res = $tmp =~ m/^($regex)$/) { + $dh->close; + return wantarray ? @res : $tmp; + } + } + $dh->close; + + return wantarray ? () : undef; +} + +sub dir_glob_foreach { + my ($dir, $regex, $func) = @_; + + my $dh = IO::Dir->new ($dir); + if (defined $dh) { + while (defined(my $tmp = $dh->read)) { + if (my @res = $tmp =~ m/^($regex)$/) { + &$func (@res); + } + } + } +} + 1; diff --git a/debian/changelog b/debian/changelog index 85277a4..345e934 100644 --- a/debian/changelog +++ b/debian/changelog @@ -1,3 +1,10 @@ +libpve-common-perl (1.0-23) unstable; urgency=low + + * moved dir_glob_regex() and dir_glob_foreach() from PVE::Storage + to PVE::Tools + + -- Proxmox Support Team Wed, 28 Mar 2012 07:56:49 +0200 + libpve-common-perl (1.0-22) unstable; urgency=low * return number of sockets in read_cpuinfo -- 2.39.2