in reply to opening consecutive files

You don't show us the code with the counter, so it's hard to say where you went wrong. Here's a loop that starts with opening graph_set_1.out, and continues to increase the number until there's no matching file.
for (my $c = 1;; $c ++) { my $file = "graph_set_$c.out"; last unless -f $file; open my $fh => "<", $file or die "Failed to open $file: $!"; ... # Do something with $fh. }

Abigail

Replies are listed 'Best First'.
Re: Re: opening consecutive files
by harry34 (Sexton) on Jun 27, 2003 at 13:26 UTC
    I have added the code that you have supplied.
    what I want to do is match the specified strings from each graph_set.out file and print strings into .txt file.
    It's not printing anything into the .txt file ? ?
    #!/usr/local/bin/perl for (my $c = 1;; $c ++) { my $file = "graph_set_$c.out"; last unless -f $file; open my $fh => "<", $file or die "Failed to open $file: $!"; local $/ = undef; # undef record seperator my $string = <IN>; # read whole file into string close (IN); my @gset_match = ($string =~ /([A-Z]\s\d+,\s\d+\(\s*\d+\))/g); open (TEXT, ">graph_set.txt") or die "Can't create graph_set.txt: $!\n +"; foreach $_(@gset_match) { print TEXT "$_\n"; } close TEXT; }
      You are reading from a handle named IN, while the open opens a handle $fh. That isn't going to work. If you turn warnings on (which usually is a good idea), Perl would have told you that you were reading from an unopened filehandle.

      Abigail