Beefy Boxes and Bandwidth Generously Provided by pair Networks
more useful options

Re: Parsing in perl

by McDarren (Abbot)
on Jun 09, 2009 at 16:05 UTC ( #769979=note: print w/replies, xml ) Need Help??

in reply to Parsing in perl

Hi :)

You're doing a lot of convulted stuff there with arrays and C-style loops, that really isn't necessary.

When you need to examine a file line by line, you're usually better reaching for a 'while' loop, rather than a 'for' loop.

Here is a slightly more perlish way to do what you want.

#!/usr/bin/perl use strict; use warnings; my $le = 'lethal_results.txt'; open my $in, '<', $le or die "Cannot open $le:$!\n"; while (<$in>) { chomp; my $foo = (split)[4]; print "$foo\n" if $foo >= 50; } close $in;
Of course, you could always just do something like:
perl -lane 'print $F[4] if $F[4] >= 50' < lethal_results.txt

Darren :)

Log In?

What's my password?
Create A New User
Node Status?
node history
Node Type: note [id://769979]
[Lady_Aleena]: Taking the printing functionality out of a module is hard at times. The one I'm currently working on has conditionals and loops for the data to be printed.
[Lady_Aleena]: Some are as easy as returning instead of printing, but only some.

How do I use this? | Other CB clients
Other Users?
Others making s'mores by the fire in the courtyard of the Monastery: (4)
As of 2017-05-29 02:26 GMT
Find Nodes?
    Voting Booth?