I need to construct a working printf statement where each field in a given record would print at a specified position.
Each record may or may not contain any particular field but will always begin with .VENDOR.LIBRARY. and end with .VENDOR.XINFO.END. Hope springs eternal for this novice perl scripter. If you can't help me, but can refer me to another list which might - I'd appreciate that. Pat Gorden-Ozgul [EMAIL PROTECTED] / [EMAIL PROTECTED] A sample from the datafile: .VENDOR_LIBRARY. BNL-MAIN .VENDOR_ID. 0000070001 .VENDOR_NAME. Research Books, Inc. / scholium .VENDOR_GROUP2. DOMESTIC .VENDOR_ADDR1_BEGIN. .PHONE. 800 445 7359 203 245 3279 .FAX. 203 245 1830 .LINE. 38 Academy Street .CITY. Madison .STATE. Ct .ZIP. 06443 .VENDOR_ADDR1_END. .VENDOR_ADDR2_BEGIN. .LINE. 38 Academy Street .CITY. Madison .STATE. Ct .ZIP. 06443 .VENDOR_ADDR2_END. .VENDOR_XINFO_BEGIN. .PAYTO. Research Books, Inc. / scholium .VENDOR_XINFO_END. .VENDOR_LIBRARY. BNL-MAIN .VENDOR_ID. 0000070097 .VENDOR_NAME. Aspen Publishers Inc. .VENDOR_GROUP2. DOMESTIC .VENDOR_ADDR1_BEGIN. .PHONE. (800)234-1660 .LINE. 7201 McKinney Circle .CITY. Frederick .STATE. MD .ZIP. 21704 .VENDOR_ADDR1_END. .VENDOR_ADDR2_BEGIN. .ATTN. Accounts Receivable .LINE. P.O. Box 64054 .CITY. Baltimore .STATE. MD .ZIP. 21264-4054 .VENDOR_ADDR2_END. .VENDOR_XINFO_BEGIN. .PAYTO. Aspen Publishers Inc. .VENDOR_XINFO_END. .VENDOR_LIBRARY. BNL-MAIN .VENDOR_ID. 0000070014 .VENDOR_NAME. John Wiley and Sons, Inc. .VENDOR_GROUP2. DOMESTIC .VENDOR_ADDR1_BEGIN. .ATTN. Order Department .LINE. Eastern Distribution Center .LINE2. One Wiley Drive .CITY. Somerset .STATE. NJ .ZIP. 08875 .COUNTRY. USA .PHONE. (800) 225-5945 .VENDOR_ADDR1_END. .VENDOR_ADDR2_BEGIN. .ATTN. John Wiley & Sons, Inc. .LINE. P.O. Box 18684 .CITY. Newark .STATE. NJ .ZIP. 07191-8684 .COUNTRY. USA .PHONE. (908) 469-4400 .VENDOR_ADDR2_END. .VENDOR_XINFO_BEGIN. .PAYTO. John Wiley & Sons, Inc. .VENDOR_XINFO_END. .VENDOR_LIBRARY. BNL-MAIN .VENDOR_ID. 0000070001 .VENDOR_NAME. Research Books, Inc. / scholium .VENDOR_GROUP2. DOMESTIC .VENDOR_ADDR1_BEGIN. .PHONE. 800 445 7359 203 245 3279 .FAX. 203 245 1830 .LINE. 38 Academy Street .CITY. Madison .STATE. Ct .ZIP. 06443 .VENDOR_ADDR1_END. .VENDOR_ADDR2_BEGIN. .LINE. 38 Academy Street .CITY. Madison .STATE. Ct .ZIP. 06443 .VENDOR_ADDR2_END. .VENDOR_XINFO_BEGIN. .PAYTO. Research Books, Inc. / scholium .VENDOR_XINFO_END. .VENDOR_LIBRARY. BNL-MAIN .VENDOR_ID. 0000070001 .VENDOR_NAME. Research Books, Inc. / scholium .VENDOR_GROUP2. DOMESTIC .VENDOR_ADDR1_BEGIN. .PHONE. 800 445 7359 203 245 3279 .FAX. 203 245 1830 .LINE. 38 Academy Street .CITY. Madison .STATE. Ct .ZIP. 06443 .VENDOR_ADDR1_END. .VENDOR_ADDR2_BEGIN. .LINE. 38 Academy Street .CITY. Madison .STATE. Ct .ZIP. 06443 .VENDOR_ADDR2_END. .VENDOR_XINFO_BEGIN. .PAYTO. Research Books, Inc. / scholium .VENDOR_XINFO_END. The code: ######################################## # script: peoplesoft_vendors.pl # author: PGO # description: Generate PeopleSoft 'VN'vendor batch file # from API output # date: 01/31/03 ######################################## my $file_in = 'vendshrt'; my $library = ".VENDOR_LIBRARY. "; my $library_out = " "; my $id = ".VENDOR.ID. "; my $id_out = " "; my $name = ".VENDOR_NAME. "; my $name_out = " "; my $payto = ".PAYTO. "; my $payto_out = " "; my $group2 = ".VENDOR_GROUP2. "; my $group2_out = " "; my $phone1 = ".PHONE. " ; my $phone1_out = " "; my $fax = ".FAX. "; my $fax_out = " "; my $addr1_line = ".LINE. "; my $addr1_line_out = " "; my $blank8 = " "; open(DATA, "$file_in") || die ; while (<DATA>) { chomp ($line); # debug # print "this line is: $_"; if ($line =~ /$library/) { $line =~ s/$library//g; print $line; $library_out = $line; # debug print "library = $library_out"; } if ($line =~ /$payto/) { $line =~ s/$payto//g; $payto_out = $line; } if ($line =~ /$id/) { $line =~ s/$id//g; $id_out = $line; } if ($line =~ /$name/) { $line =~ s/$name//g; $name_out = $line; } if ($line =~ /$group2/) { $line =~ s/$group2//g; $group2_out = $line; } if ($payto_out = " ") { $payto_out = substr($name_out,0,39); # debug print "Payto = $payto_out"; } if ($line =~ /$phone1/) { $phone1_out = $line; } if ($line =~ /$fax/) { $fax_out = $line; } if ($line =~ /$addr1_line/) { $addr1_line_out = $line; # debug print "addr1_line_out = $addr1_line_out"; } # printf "%8s %-40s %-26s \n", $blank8, $payto_out, $addr1_line_out; my $library = ".VENDOR_LIBRARY. "; my $library_out = " "; my $id = ".VENDOR.ID. "; my $id_out = " "; my $name = ".VENDOR_NAME. "; my $name_out = " "; my $payto = ".PAYTO. "; my $payto_out = " "; my $group2 = ".VENDOR_GROUP2. "; my $group2_out = " "; my $phone1 = ".PHONE. " ; my $phone1_out = " "; my $fax = ".FAX. "; my $fax_out = " "; my $addr1_line = ".LINE. "; my $addr1_line_out = " "; } close(DATA); -----Original Message----- From: Rob Das [mailto:[EMAIL PROTECTED]] Sent: Thursday, February 06, 2003 10:02 AM To: Caenepeel, Sean [R&D/0111] Cc: [EMAIL PROTECTED] Subject: RE: Net::FTP troubles Sean: I had all sorts of problems with this on NT. Works great on Unix. To FTP to NT: Needs Microsoft IIS (Option Pack?) installed. Once this is set up, the following changes need to be made: q Start up the Microsoft Management Console - Start, Programs, Windows NT 4.0 Option Pack, Microsoft Internet Information Server, Internet Service Manager. q Right click on Default FTP Site and select Properties q Click on the Home Directory tab q Make sure "Write" is checked. q Change the Local Path to whatever directory is needed. q Click on Apply, and exit. The local path specified above is accessed as "\". Rob Das -----Original Message----- From: R. Joseph Newton [mailto:[EMAIL PROTECTED]] Sent: Wednesday, February 05, 2003 11:42 PM To: Caenepeel, Sean [R&D/0111] Cc: [EMAIL PROTECTED] Subject: Re: Net::FTP troubles "Caenepeel, Sean [R&D/0111]" wrote: > Hello, > > I am having some difficulty downloadinging a file with the Net::FTP module. > ... > $ftp->cwd($path) || > die "Could not cd to $path."; > $ftp->get($filename) || > die "Could not get file."; HI Sean, I haven't worked with this module, but from my experiences using the FTP protocol, I am wondering whether this is transmitting in text mode or binary. You might want to check the documentation for a mode parameter to the get command, or mode attribute for the Net::FTP object. Joseph -- To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED] -- To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]