""Rod Burgess"" <[EMAIL PROTECTED]> wrote in message 
news:[EMAIL PROTECTED]
>I am new to the Perl world and am trying to learn it.  A coworker tells me
> that Perl will not work for what I am trying to do however, I think Perl
> would be a great tool to use and  I feel this coworker is wrong.
> I have a file that contains several lines all as below:
> DR03555{tab}    45600062888{tab}     00008FLAT WASHER
> DR03555{tab}    228765329{tab}        00001GASKET
>
> The meaning of the file is
> DR03555 = order number
> 45600062888 = part number
> 00008 = quantity
> FLAT WASHER = Description
>
> The lines all begin with the prefex DR  I would like to read this file and
> produce the following output:
>
> 45600062888;8;FLAT WASHER
> 228765329;1;GASKET
>
> basiclly I need a file that lists the following: 
> Part#;Quantity;Description
>
> Is this possible with Perl?
>

You bet. This is what perl was made for:

$ cat tab2csv.dat
DR03555 45600062888     00008FLAT WASHER
DR03555 228765329       00001GASKET

$ cat tab2csv.pl
while (my $line = <>) {
  my( $order, $part, $qty, $descr ) = $line =~ m|(.+?)\t(.+?)\t(\d+)(.+)$|;
  print( join(';', $part, $qty + 0, $descr), "\n" );
}

$ perl tab2csv.pl tab2csv.dat
45600062888;8;FLAT WASHER
228765329;1;GASKET

Enjoy,

Todd W.



-- 
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]
<http://learn.perl.org/> <http://learn.perl.org/first-response>


Reply via email to