#! c:\PXPerl\bin\perl.exe -w use strict; use File::Find (); use vars qw/*name *dir *prune/; *name = *File::Find::name; *dir = *File::Find::dir; *prune = *File::Find::prune; sub wanted; my $dir = shift; warn "Directory: $dir"; File::Find::find({wanted => \&wanted}, $dir); exit; sub wanted { my ($dev,$ino,$mode,$nlink,$uid,$gid); /^.*\.rel\z/s && (($dev,$ino,$mode,$nlink,$uid,$gid) = lstat($_)) && -f _ && eval { $name =~ s/^\.\///; $name =~ s/\..*$//; system("c:/sdcc/bin/sdcc.exe --model-small --code-loc 0x4000 --xram-loc 0x0000 $name.rel"); system("c:/sdcc/bin/packihx.exe $name.ihx > $name.hex"); system("c:/sdcc/bin/copyclip.exe $name.hex"); } }