i have written a code for iterating through a directory which is passed through command line to search a specific file format and then make some modification and save the updated file in same directory within same file.it's working fie if i'm rumming scipt for current directory but if i'm trying to give path for source directory on command line it's not working.
#!/usr/bin/perl use strict; my $dirName = $ARGV[0]; opendir(DIR, $dirName); my @files = grep(/\.txt$/,readdir(DIR)); closedir(DIR); # print all the filenames in our array my $txtfile; foreach $txtfile (@files) { print "$txtfile\n"; open my $input_fh, '<',$txtfile; my $delim = $/; $/ = ''; undef($/); my $file=<$input_fh>; close $input_fh; $file =~ s/(<%--)?\s*<script(.*?)>/($1 ? '' : "\n<%-- ") . "<script$2> +"/ige; $file =~ s=</script>\s*(-->)?='</script>' . ($1 ? '' : " -->\n")=ige; print $file; open my $output_fh, '>', $txtfile; print $output_fh $file; close $output_fh; }
suppose my directory path is c:\users\hector\desktop\collection and perl script path is c:\users\hector\desktop and writing perl command like this perl\path to perl script\path to dir
In reply to searching a particular file from a directory that is passed on command prompt by hector89
| For: | Use: | ||
| & | & | ||
| < | < | ||
| > | > | ||
| [ | [ | ||
| ] | ] |