sub scan { $lb1->insert('end', "Scanning..."); my $counter = '0'; my $file = '/usr/ports/y.lis'; my $outf = '/usr/ports/yy.lis'; open(ARGV,$file) or die $!; open(OUTF,">$outf") or die $!; BEGIN { $/ = "\n"; $\ = "\n"; } LINE: while (defined($_ = )) { chomp $_; use File::Glob (); foreach $_ (glob("$_/*")) { printf OUTF "$_\n"; $counter++; } } close(ARGV); close(OUTF); print "processed $counter records."; $lb1->insert('end', "Done."); clean(); } sub clean { $portscount = '0'; $ifile = '/usr/ports/yy.lis'; $ofile = '/usr/ports/yyy.lis'; open(IFILE, $ifile) or die $!; open(OFILE,">$ofile") or die $!; while () { $_ =~ s/\s+//g; if (!/Makefile(.inc|)$/) { printf OFILE "$_\n"; } else { $portscount++; } } close(IFILE); close(OFILE); print "processed $portscount records."; }