hi thanks for your reply..
my output looks something like this, an ID followed by the corresponding company name. I just want to create two clear columns, with borders that one column name is named 'Company ID' and have all the list of IDs, and another column called 'Company Name'.
16444 3M Singapore
10167 ABB Schweiz (CHHOS) - SAP
13916 ABB Turbo Systems AG - LVS
10163 ABB Turbo Systems AG - SAP
8683 ABC
20006 ABX Logistics International GmbH
20007 ABX Logistics Rheinkraft GmbH
23824 ABX TRAX
23259 AC CONNECT|
....... | [reply] [d/l] |
use strict;
use warnings;
my @rows = (
'16444 3M Singapore',
'10167 ABB Schweiz (CHHOS) - SAP',
'13916 ABB Turbo Systems AG - LVS',
'10163 ABB Turbo Systems AG - SAP',
'8683 ABC',
);
printf "%6d %s\n", split ' ', $_, 2 for @rows;
Prints:
16444 3M Singapore
10167 ABB Schweiz (CHHOS) - SAP
13916 ABB Turbo Systems AG - LVS
10163 ABB Turbo Systems AG - SAP
8683 ABC
See printf.
DWIM is Perl's answer to Gödel
| [reply] [d/l] [select] |
...or, since you ask for with borders (presumably to make it look like directly using your db's output capabilities), print your headers and initial set of borders outside the loop, and modify GrandFather's printf slightly (to provide the column-separating border, as follows:
use strict;
use warnings;
print " Co.ID \t|\tNAME\n";
print "-------\t|------------------------\n";
my @rows = (
'16444 3M Singapore',
'10167 ABB Schweiz (CHHOS) - SAP',
'13916 ABB Turbo Systems AG - LVS',
'10163 ABB Turbo Systems AG - SAP',
'8683 ABC',
);
printf "%6d\t|\t%s\n", split ' ', $_, 2 for @rows;
OUTPUT:
Co.ID | NAME
------- |------------------------
16444 | 3M Singapore
10167 | ABB Schweiz (CHHOS) - SAP
13916 | ABB Turbo Systems AG - LVS
10163 | ABB Turbo Systems AG - SAP
8683 | ABC
Minor Note: Since laziness is a virtue, check on the string repetition operator (for example, p25 of "Learning Perl," O'Reilly, Randal L. Schwartz & Tom Phoenix, which should be on your bookshelf) for a way to get the multiple "-"s with fewer keystrokes. | [reply] [d/l] |
hello all, thank you for your replies, they have been very helpful
i used this command (as displayed above)
printf "%6d %s\n", split ' ', $_, 2 for @rows;
and I get this output displayed on my DOS screen
16444 3M Singapore
0
10167 ABB Schweiz (CHHOS) - SAP
0
13916 ABB Turbo Systems AG - LVS
0
10163 ABB Turbo Systems AG - SAP
0
8683 ABC
How do I get rid of the '0' that keeps appearing in between the lines??? thanks again | [reply] [d/l] [select] |
| [reply] |