Fuism has asked for the wisdom of the Perl Monks concerning the following question:
#!/usr/bin/perl # Open Directory to scan die("Cannot open /cdw/home_dir/.") unless(opendir(DIR, "/cdw/home_dir/")); # Open file to print files die("Connot open /cdw/home_dir/s006258/CHECK_SAS/cant_open_file.txt.") unless(open(OUTFILE, ">/cdw/home_dir/s006258/CHECK_SAS/cant_open_f +ile.txt")); # Open file to print words that exists in file die("Connot open /cdw/home_dir/s006258/CHECK_SAS/word_exist_list.txt." +) unless(open(EXIST, ">/cdw/home_dir/s006258/CHECK_SAS/word_exist_li +st.txt")); # List of words to search for @words = ("\$BIDI", "\%ARMCONV", "\%CENTROID" , "\%MAPLABEL" , "ALLPER +M", "ANYALNUM", "ANYALPHA", "ANYCNTRL", "ANYDIGIT", "ANYFIRST", "ANYGRAPH", "ANYLOWER", "ANYNAME", "ANYPRINT", "ANYPUNCT", + "ANYSPACE", "ANYUPPER", "ANYXDIGIT", "ARMAGENT", "ARMLOC", "ARMSUBSYS", "BETA", "BOUNDS", "BYSORTED", "CAT", "CATS", "C +ATT", "CATX", "CEILZ", "CHTML", "CLONE", "COLNAME", "COLUMNS", "COMPARE", "COMPAREREG1", "COMPCOST", "COMPGED", "COMPLEV", "COUNTC", +"CPUCOUNT", "CSVALL", "CUMIPMT", "CUMPRINC" , "DATECOPY", "DISTANCE", "DMSSYNCHK", "DOCBOOK", "DTRESET", "ECTREND", "EMAILAUTHPR +OTOCOL", "EMAILID", "EMAILPW", "ENCODING", "ENTROPY", "ERRORBYABEND", "FINDC", "FLOORZ", "FONTSLOC", "FORCE", "FRONTREF", "G +AREABAR", "GBARLINE", "HELPENCMD", "HTMLCSS", "IBUFSIZE", "IMODE", "INTCINDEX" , "INTCYCLE" , "INTFMT" , "INTINDEX" , "INTSEA" , + "INTZ", "IPMT" , "IQR", "ITPRINT", "KCVT", "LENGTHC", "LENGTHM", "LENGTHN", "LISTREG", "LOGBETA", "LOGPARM", "MAD", "MAPIMPORT" , "MARK +UP", "MAXITER", "METAID", "METAPASS", "METAPORT", "METAPROTOCOL", "METAREPOSITORY", "METASERVER", "METAUSER", "MODZ", "NLITERAL", "NOPRO +MAXNORM", "NOTALNUM", "NOTALPHA", "NOTCNTRL", "NOTDIGIT", "NOTFIRST", "NOTGRAPH", "NOTHREADS", "NOTLOWER", "NOTNAME", "NOTOP", " +NOTPRINT", "NOTPUNCT", "NOTSPACE", "NOUPPER", "OUTLIER", "PAGEBREAKINITIAL", "PCTL", "PMT" , "PPMT" , "PRINTERR", "PRXCHANGE", +"PRXDEBUG", "PRXFREE", "PRXMATCH", "PRXNEXT", "PRXPAREN", "PRXPARSE", "PRXPOSN", "PRXSUBSTR", "PUTLOG", "QUOTELENMAX", "RANPERK" +, "RANPERM", "ROBUSTREG", "ROLE", "ROUNDE", "ROUNDZ", "SCANQ", "SMM", "SORTEQUALS", "SORTSEQ", "SORTSIZE", "STDIZE", "STREAMINIT", "S +URVEYFREQ", "SURVIVAL", "SWFONTRENDER", "SYLK", "TAGSET", "TERMSTMT", "TEXTURELOC", "THREADS", "TOL", "TOOLSMENU", "UCM", "USERI +NPUT" , "UTILLOC", "UTOMDL", "V6CREATEUPDATE", "VALIDFMTNAME", "VIEWM +ENU", "VNEXT", "VVALUE", "VVALUEX", "WML"); print "@words"; # Reads in each Directory for my $dir (readdir(DIR)) { #print "$dir\n"; if ($dir eq "s006258") { # Open each Directory to scan for sas files print("Cannot open /cdw/home_dir/$dir \n") unless(opendir(HOME, "/cdw/home_dir/$dir")); for my $file (readdir(HOME)) { #Scans for .sas files &sas_scan() if ($file =~ /.sas$/) { print "$file SAS\n"; #Prints .sas files that cannot be opened into OUTFILE print OUTFILE ("Cannot open the file /cdw/home_dir/$di +r/$file \n") unless(open(INFILE, "/cdw/home_dir/$dir/$file")); while ($read = <INFILE>) { for ($i = 0; $i < @words; $i++) { if ($read =~ /$word[$i]/) { print EXIST "The $word[$i] exists in /cdw/ +home_dir/$dir/$file \n"; print EXIST "on line: $read\n\n"; } } } } else { # Open each Directory to scan for sas files print OUTFILE ("Cannot open dir /cdw/home_dir/$file \n +") unless(opendir(DIR, "/cdw/home_dir/$file")); for my $file (readdir(HOME)) { #Scans for .sas files &sas_scan() if ($file =~ /.sas$/) { print "$file SAS\n"; #Prints .sas files that cannot be opened i +nto OUTFILE print OUTFILE ("Cannot open the file /cdw/ +home_dir/$dir/$file \n") unless(open(INFILE, "/cdw/home_dir/$di +r/$file")); while ($read = <INFILE>) { for ($i = 0; $i < @words; $i++) { if ($read =~ /$word[$i]/) { print EXIST "The $word[$i] exi +sts in /cdw/home_dir/$dir/$file \n"; print EXIST "on line: $read\n\ +n"; } } } } } } } } }
|
---|
Replies are listed 'Best First'. | |
---|---|
Re: Searching Sub Dir for Files
by Fletch (Bishop) on Jun 01, 2005 at 18:56 UTC | |
Re: Searching Sub Dir for Files
by davidrw (Prior) on Jun 01, 2005 at 18:56 UTC | |
by Fuism (Beadle) on Jun 01, 2005 at 19:02 UTC | |
by davidrw (Prior) on Jun 01, 2005 at 19:21 UTC | |
by Fuism (Beadle) on Jun 01, 2005 at 19:28 UTC | |
by davidrw (Prior) on Jun 01, 2005 at 19:48 UTC | |
Re: Searching Sub Dir for Files
by cmeyer (Pilgrim) on Jun 01, 2005 at 19:04 UTC | |
Re: Searching Sub Dir for Files
by crashtest (Curate) on Jun 01, 2005 at 19:19 UTC | |
by Fuism (Beadle) on Jun 01, 2005 at 19:34 UTC | |
Re: Searching Sub Dir for Files
by cool_jr256 (Acolyte) on Jun 01, 2005 at 19:01 UTC | |
by Fuism (Beadle) on Jun 01, 2005 at 19:10 UTC | |
by Joost (Canon) on Jun 01, 2005 at 19:14 UTC | |
by Fuism (Beadle) on Jun 01, 2005 at 19:17 UTC | |
by Joost (Canon) on Jun 01, 2005 at 19:22 UTC |