""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>