#!/usr/bin/perl my $dirpath = $ARGV[1]; $dirpath ||= 'templates'; &process_dir($dirpath); sub process_dir { my $dirpath = shift @_; opendir DIR, $dirpath || die "can't open dir $dirpath for reading:$!"; my @entries = readdir DIR; closedir DIR; for $entry (@entries) { my $path = "$dirpath/$entry"; if ( -d $path && $entry !~ /^\./ ) { &process_dir($path); } elsif ( $entry !~ /^\./ ) { print "Processing path $path\n"; `perl -ibak -pe 's|\<\%(.*?)\%\>||g' $path`; } } }