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