Aruna Goke wrote:
If i run the below code it does not right to the voucher.rtf file.
Can you guide on the best way to accomplish this.
#!/usr/bin/perl
use warnings;
use strict;
my ($pin, $pin1, $pin2, $val);
format MINE=
Voucher @<<< Voucher @<<< Voucher @<<<
$val, $val, $val,
PIN @<<<<<<<<<<<<< PIN @<<<<<<<<<<<<< PIN @<<<<<<<<<<<<<
$pin, $pin1, $pin2,
[snip]
.
my $outvou = '/perl/mycode/progperl/voucher.rtf';
#open the file voucher.rtf for inputs
open TESTFILE, "+>", $outvou or die "cannot open $outvou:$!";
Is there any reason that you need to *read* from this file as well?
my $testpins = '/perl/mycode/progperl/testpins.txt';
#open the file testpins.txt for reading
open my $fh, '<', $testpins or die "cannot open $testpins:$!";
my $c;
my @result = <$fh>;
my @pin;
for(@result){
That should really be:
while ( <$fh> ) {
Because you really don't need to read the whole file into memeory.
my @line = (split/ /);
You are splitting on a single space character so the first line will
produce the list:
( "5467054961946", "", "200acct\n" )
To fix it change to:
my @line = split;
Which will produce the list:
( "5467054961946", "200acct" )
push @pin, $line[0] if $line[1] =~/200acct/
Should probably be:
push @pin, $line[0] if $line[1] eq '200acct';
}
for($c=0; $c <= $#pin; $c++){
$pin = $pin[$c];
$pin1 = $pin[$c=$c+1];
$pin2 = $pin[$c=$c+1];
$c=$c+1 is usually written as $c += 1. Or you could use auto-increment:
$pin = $pin[ $c ];
$pin1 = $pin[ ++$c ];
$pin2 = $pin[ ++$c ];
You have another problem here in that the number of elements of @pin is
not evenly divisible by three.
$val = 200;
select(TESTFILE);
$~ = "MINE";
200 and TESTFILE and "MINE" never change so there is no good reason to
have these assignments inside the loop.
write;
}
close $fh;
close (TESTFILE);
extract from testpins.txt
==========================
5467054961946 200acct
5518935606936 200acct
5559810038657 100acct
5840143221892 200acct
5604116723026 200acct
5490024283962 200acct
5657499629585 200acct
5899894585741 200acct
5750426282431 200acct
5939183545596 200acct
5621825327200 200acct
John
--
Perl isn't a toolbox, but a small machine shop where you
can special-order certain sorts of tools at low cost and
in short order. -- Larry Wall
--
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]
http://learn.perl.org/