The data is being generated as part of a backup process, whose naming is outside my control. I have to collate stats on the various backup folders, by a derived group name.
If I were to hand code it, I would do something like:
use File::Basename qw( dirname basename );
for my $folder (
'/var/vavoom/cherry/cherry_etc', # cherry_etc
'/var/varoom/cherry/cherry_var_data', # cherry_var_data
'/var/vavoom/peach/peach_etc', # peach_etc
'/var/varoom/mysql/peach_mysql_chant', # mysql_peach_chant
'/var/vavoom/upload/var_finite', # upload_var_finite
'/var/vavoom/upload/var_open', # upload_var_open
) {
my $group = basename($folder);
my $parent = basename(dirname($folder));
$group =~ s/$parent\_//g;
$group = $parent . '_' . $group;
print sprintf("%-40s %s\n", $folder, $group );
}
/var/vavoom/cherry/cherry_etc cherry_etc
/var/varoom/cherry/cherry_var_data cherry_var_data
/var/vavoom/peach/peach_etc peach_etc
/var/varoom/mysql/peach_mysql_chant mysql_peach_chant
/var/vavoom/upload/var_finite upload_var_finite
/var/vavoom/upload/var_open upload_var_open
I was hoping for pointers to an RE technique that would enable me to consolidate repeating words.
|