in reply to Re: opening consecutive files
in thread opening consecutive files

there is nothing printing into the txt file.
is there anything obviously wrong ?
I know the pattern matching code is right.
#!/usr/local/bin/perl while( my $file = <graph_set_*.out> ) { next unless $file =~ m[graph_set_[123]?[0-9].out]; open IN, '<', $file or warn "Couldn't open file $file because $!"; 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;

Replies are listed 'Best First'.
Re: opening consecutive files
by Abigail-II (Bishop) on Jun 27, 2003 at 14:00 UTC
    Had you turned on strict, Perl would have told you that where you match $string that variable is out of scope. What you do is, in a loop, read in each file, store the context in a lexical variable (which is gone at the next iteration of the loop). Then, outside the loop, after discarding the content of all the files, you do the matching.

    But there's nothing to match against.

    Abigail