On 10/02/2013 08:02 PM, Peter Holsberg wrote:
<sigh> Let me start over.

The file I want to modify has a 6-digit filename and an extension htm.
For example, 131002.htm

i figured that was the case. you should state that in the beginning and then say a regex to match that is \d{6}\.htm. then you can use the regex in a grep or in a loop or other ways.

I'm working in Windows, with Strawberry perl, with Randall L. Schwartz's
"Learning Perl", copyright 1993. I also have "Perl 5 Pocket Reference",
1998 and copies of "Programming Perl" and "Perl Cookbook", all last
century. That's how current my knowledge is. :-)

for what you are trying to do, that is fine. nothing is so new in perl that will make this simple project any simpler.

i do recommend you try to use File::Slurp to read in and write out your files. it even has a edit_file sub which can do the i/o and editing in one call. i didn't keep your edit request so i can't show you how to use it that way. this is one way to do it:

        use File::Slurp qw( read_dir edit_file ) ;

        foreach my $file ( grep /^\d{6}\.htm$/, read_dir( $dir ) ) {

                edit_file { s/foo/bar/g } $file ;
        }

read_dir is also from File::Slurp and reads a whole dir for you. no need for glob or opendir.

the code block in edit_file can be changed to call a sub to do a more complex edit. it sets $_ to the entire file content.

uri




--
Uri Guttman - The Perl Hunter
The Best Perl Jobs, The Best Perl Hackers
http://PerlHunter.com

--
To unsubscribe, e-mail: beginners-unsubscr...@perl.org
For additional commands, e-mail: beginners-h...@perl.org
http://learn.perl.org/


Reply via email to