On Tue, 29 Oct 2002 19:32:16 +0200, Detlef Lindenthal wrote:

>  m'(.{2})(.{7})(.{9})(.{10})([^ ]*)([^,]*),?(?:([^,]*),?)?(.*)'g;
>  printf     "%-3s %-8s %-11s %-11s %-11s %-12s %-12s %-12s %-12s  \n",    $1, $2, 
>$3, $4, $5, $6, $7, $8;
>  printf D_O "%-3s %-8s %-11s %-11s %-11s %-12s %-12s %-12s %-12s  \n",    $1, $2, 
>$3, $4, $5, $6, $7, $8;

A few tips:

 * If you plan on using all captured values, why not capture them in an
array?

my @m = m'(.{2})(.{7})(.{9})(.{10})([^ ]*)([^,]*),?(?:([^,]*),?)?(.*)'g;

* two: you appear to want to print the same string twice. Then build the
string as a first step!

 $_ = sprintf "%-3s %-8s %-11s %-11s %-11s %-12s %-12s %-12s %-12s  \n",
        @m;

 print;
 print D_O;

 * Finally, you attempt to do something known as "tee" in the Unix
world. Perhaps some module might help you achieve that effect. I thought
there was an entry on "tee" in the FAQ, but now I can't find it. There's
an IO::Tee module available on CPAN. 

(All untested, though.)
-- 
        Bart.

Reply via email to