Thanks Linuxer, you adaption worked a treat (inluding glob)
Just so people know I have only been on a 3 day course and I am "self teaching" the rest. So I really do appreciate the assistance and suggestions
That being said :0), I am now moving the script on so that it reads each line and tries to match 2 values, both of which can be either one value or another
I.E the first value can be 7722 or 59001 (appearing before the first occurence of /) and the second value can be N or U or C (which is the 362 character on the line)
Once it matches both it should print the line, if not skip past it.
I've had a go, but once again getting an error
#!/usr/bin/perl
# http://perlmonks.org/?node_id=1120387
use strict;
use warnings;
my $log_dir = '/home/smithc';
my $log_file = "$log_dir/trans.log";
my $trans_dir = '/data/FSA_Retrieval';
# Log handles
if ( not open my $loghandle, ">>", $log_file ) { # lexical hand
+le and three argument form of open()
# syslog ... # what's this?
die "Cannot open file $log_file: $!";
}
# maybe instead of opendir ... and readdir ...
my @files = grep { -f } glob( "$trans_dir/*OT*" );
foreach my $file (@files) {
print STDERR "File: $file\n";
print "$file\n";
open my $fh, "<", $file # same here; l
+exical file handle and 3-arg-form of open()
or die "Cannot open $file: $!";
while ( my $line = <$fh> ) {
if (/(7722/|59001/)/ && /.{361}(N|U|C)/) {
print;
}
}
close $fh;
}
When I run a perl -c against the script I get the compile error
Unmatched ( in regex; marked by <-- HERE in m/( <-- HERE 7722/ at test2.pl line 37
-
Are you posting in the right place? Check out Where do I post X? to know for sure.
-
Posts may use any of the Perl Monks Approved HTML tags. Currently these include the following:
<code> <a> <b> <big>
<blockquote> <br /> <dd>
<dl> <dt> <em> <font>
<h1> <h2> <h3> <h4>
<h5> <h6> <hr /> <i>
<li> <nbsp> <ol> <p>
<small> <strike> <strong>
<sub> <sup> <table>
<td> <th> <tr> <tt>
<u> <ul>
-
Snippets of code should be wrapped in
<code> tags not
<pre> tags. In fact, <pre>
tags should generally be avoided. If they must
be used, extreme care should be
taken to ensure that their contents do not
have long lines (<70 chars), in order to prevent
horizontal scrolling (and possible janitor
intervention).
-
Want more info? How to link
or How to display code and escape characters
are good places to start.