Good Afternoon fellow monks! My question is why do all the lines from the file print to the screen and only one line gets printed to the PDF? Code posted below:
#!/usr/bin/perl
use PDF::Reuse;
use strict;
use warnings;
printinterrr();
sub printinterrr {
open(MYINPUTFILEONE, "data.txt");
$| = 1;
my @linesone = <MYINPUTFILEONE>; # read file into list
close (MYINPUTFILEONE);
printf (" =================\n\n");
printf (" | VERIFY NAME |\n\n");
printf (" =================\n\n");
printf (" \n\n");
printf (" PLEASE INSERT NAME TO VERIFY:\n\n");
printf (" \n\n\n\n\n\n\n\n");
my $interrrverify = <STDIN>;
$interrrverify = <STDIN> until defined $interrrverify;
chomp($interrrverify);
printf (" ========================================\n\n");
printf (" | NAME | NUMBER | TYPE | OWNER | INTER |\n\n");
printf (" ========================================\n\n\n");
my $found = 0;
foreach my $interrrverify2 (@linesone) {
my @fieldone = split(":", $interrrverify2);
if ($fieldone[4] =~ /(?<![\w-])$interrrverify(?![\w-])/i) {
my $format = " %-13s %-15s %-11s %-10s %0s\n";
printf ($format, $fieldone[0], $fieldone[1], $fieldone[2], $fieldone[3
+], $fieldone[4]);
my $pageTop = 800;
my $pageBottom = 40;
my $x = 35; # Left margin
my $y = 760;
my $step = 10; # Distance between lines (fontsize = 12)
prFile('data.pdf');
prCompress(1); # Compress streams
prFont('Times-Roman');
prText(50, 800, "=======================================");
prText(50, 790, "NAME NUMBER TYPE OWNER INTER");
prText(50, 780, "=======================================");
+
prText(50, $y, "$fieldone[0]");
prText((50 + 90), $y, "$fieldone[1]");
prText((50 + 195), $y, "$fieldone[2]");
prText((50 + 272), $y, "$fieldone[3]");
prText((50 + 335), $y, "$fieldone[4]");
$found =1;
if ($y < $pageBottom) {
prPage();
$y = $pageTop;
} else {
$y -= $step;
}
}
prEnd;
} # END FILE LOOP
}
sleep 10;