use strict; use warnings; use PostScript::Simple; $|=1; my $file = 'C:\Users\Carl\Documents\AddressMergeTXT.txt'; open (INPUT, $file) or die ("Can't open file"); my $line; my $text; my $p = 1; while (my $newline = ) { chomp $newline; my ($firstname, $lastname, $address, $city, $state, $zipcode, $blank1, $blank2, $blank3, $blank4, $blank5, $blank6, $blank7, $barcode) = split('\t', $newline); $line = new PostScript::Simple (papersize => "Letter"); $line -> setfont("Arial,Bold", 10); $line -> text (430, 750, "Cogswell Cogs"); $line -> text(430, 740, "2234 W. Dale Ave."); $line -> text (430, 730, "San Antonio, TX. 77450"); $line -> text (430, 720, "722 - 423 - 7260"); $line -> text (40,700, $firstname); $line -> text (80, 700, $lastname); $line -> text (40, 690, $address); $line -> text (40, 680, $city.","); $line -> text (115, 680, $state."."); $line -> text (135, 680, $zipcode); $line -> setfont("USPSIMBStandard", 10); $line -> text (40, 670, $barcode); $line -> setfont("Arial,Bold", 10); $line -> text (40, 620, "Dear ". $firstname . ","); $text = &getLetter; $line -> text (40, 610, $text); $line -> output('C:\Users\Carl\Documents\testdata\file' .$p .'.eps'); $p += 1; } sub getLetter { my $txline; my $letterfile = 'C:\Users\Carl\Documents\NewLetter.txt'; open (INPUT1, $letterfile) or die ("Can't open file"); while ($txline = ) { return $txline; } } close (INPUT); close (INPUT1);