#!/usr/bin/perl =begin Generates Ubuntu style module.load files. ./apache2_module_conf_generate.pl /usr/lib64/httpd/modules /etc/httpd/mods-available ARGV[0] is the apache modules directory, ARGV[1] is where you want 'em. =cut use File::Find; use strict; use warnings; die "Must have '/path/to/modules' and '/path/to/modules.load'" unless $ARGV[0] && $ARGV[1]; find( { wanted => sub { return 1 if $File::Find::name !~ /\.so$/; my $modfile = $_; $modfile =~ /(lib|mod_)(.+)\.so$/; my $modname = $2; my $filename = "$ARGV[1]/$modname.load"; unless ( -f $filename ) { open( FILE, ">", $filename ) or die "Cannot open $filename"; print FILE "LoadModule " . $modname . "_module $File::Find::name\n"; close(FILE); } }, follow => 1, }, $ARGV[0] ); exit 0;