I am searching on GeneBank data, I got 480 Accession number, for each Accession number, I need two items: item1 and items, so I have the print format like: Accession item1 item2
12345678 abcd1234 als
because I generate each accession number first, for each accession number, I use foreach loop to generate item1 and item2, maybe some of the accession number have a couple of groups item1 and item2, maybe some of them have none item1 and item2 at all. I tried to use:printf ("%08d",$accession);#which is before foreach loop.
foreach (@accession){
....
$item1=....;
$item2=....;
printf("%16s%08s",$item1,$item2);
}
It printed out so messy. Please help!
Thanks!
| [reply] [d/l] [select] |
my ($print_accession) = sprintf("%08s",$accession);
foreach (@accession) {
...
$item1=...;
$item2=...;
printf("%8s%16s%8s\n",$print_accession,$item1,$item2);
$print_accession = "";
}
If you don't like your strings right aligned in their field, use '%-16s' - the minus indicates the field should be left aligned. See perldoc -f sprintf for details on the available formats.
90% of every Perl application is already written. ⇒ | dragonchild |
| [reply] [d/l] |