Thanks too all who passed some knowledge on, but I ended up using : while (<D>) {
## look for 9840S and ebexpire ## declare OFS = tab ## tell split to split on IRS 0,1&5. very similar to awk print $ if (($_ =~ /9840S/) && ($_ =~ /ebexpire, ebexpire/ )) { local $, = "\t"; print FOO +(split)[0,1,5], $/; #print +(split)[0,1,5], $/; Derek B. Smith OhioHealth IT UNIX / TSM / EDM Teams 614-566-4145 "John W. Krahn" <[EMAIL PROTECTED]> 08/13/2004 08:51 AM To: Perl Beginners <[EMAIL PROTECTED]> cc: Subject: Re: awk like question [EMAIL PROTECTED] wrote: > All, Hello, > wasn't sure if this was received b/c I got a reurne to sender error. > > > How can I print certain fields delimited by ' '? > In awk I would write awk '{print $1, $6}' filename The Perl equivalent of that is: perl -lane 'print "@F[0,5]"' > Here is an out file that I want to grab data from : > > 04/29/04 11:00:28 [ 6687:ebexpire, [EMAIL PROTECTED] E00796 9840S 537 > 2B0234233543E6A4 > 04/29/04 11:00:28 [ 6687:ebexpire, [EMAIL PROTECTED] E00830 9840S 571 > D402325A8345ABDE > 04/29/04 11:00:28 [ 6687:ebexpire, [EMAIL PROTECTED] E00066 9840S 127 > 5202333193B75CBB > 04/29/04 11:00:28 [ 6687:ebexpire, [EMAIL PROTECTED] E00501 9840S 168 > 4B0233BABA5813F6 > > I want fields one two and six or the date, time and E string. > Does it matter whether I use a foreach or a while (<filehandle>) ? You could write that in Perl as: perl -lane 'print "@F[0,1,5]"' John -- use Perl; program fulfillment -- To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED] <http://learn.perl.org/> <http://learn.perl.org/first-response>