Re: Script to parse files

2004-02-06 Thread wolf blaum
For Quality purpouses, LoneWolf 's mail on Friday 06 February 2004 16:57 may 
have been monitored or recorded as:
 I've been working with this since wolf and jeff and john sent me some
 stuff, I think I actually based everything on wolf's code excerpts.  I'm
 sure my final code is going to not be perfect, but at least I have the
 piece of mind of knowing that I can get this thing some better then it was.
  I'm still not sure on making it a sub that I can use on anything, but I'll
 deal with that issue another day.

easy: (notice: thats the same script as priviously but has the parse in a 
sub:)

---snip---
#!/usr/bin/perl

use strict;
use warnings;
my (@fields, $lng);

sub whatever {

 if (@_) {
 
 foreach my $infile (@_) {
 
  my ($i,$rec);

  open INFILE, $infile or die Can't open $infile: $!;
  open OUTFILE, ${infile}.out or die Can't open ${infile}.out at home: 
$!;
  while (INFILE) {
   $rec++;
   chomp;
  [EMAIL PROTECTED] = split /\s*\|\s*/, $_;
   $fields[0] =~ s/^\s+//; 
   #there is probably a way to get rid of the trailing spaces in the first 
entry using split,I just couldnt think of any.

   $lng = @fields unless $lng; #set $lng for first record
   print The following record: $i has , scalar @fields,  fields as compared 
to $lng fields in the first record! Skip. : $_\n and next unless $lng == 
@fields;
#poor quality control of your input data: check if all reords have the same 
number of fields or skip and print record otherwise.
   $i++;
   print OUTFILE $i;
   print OUTFILE |$_ foreach (@fields);
   print OUTFILE |$fields[0]\n; #your trailing ID
  }
  close INFILE;
  close OUTFILE;
  print Read $rec records from ./sql/$infile and printed $i into ./
${infile}.out\n;
} #end foreach
return 1;
}
else {return undef;}
} #end sub whatever

---snap---


call it with whatever('path/to/firstfile', 'path/to/secondfile',...)

Enjoy, Wolf


--
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]
http://learn.perl.org/ http://learn.perl.org/first-response




Re: Script to parse files

2004-02-06 Thread wolf blaum
For Quality purpouses, wolf blaum 's mail on Friday 06 February 2004 20:15 may 
have been monitored or recorded as:

 easy: (notice: thats the same script as priviously but has the parse in a
 sub:)

 ---snip---
 #!/usr/bin/perl

 use strict;
 use warnings;
 my (@fields, $lng);


... and that my (@fields, $lng); belings in the sub
wolf


-- 
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]
http://learn.perl.org/ http://learn.perl.org/first-response