Beefy Boxes and Bandwidth Generously Provided by pair Networks
The stupid question is the question not asked
 
PerlMonks  

Re^5: Find maximum number in text file and copying its full statement in new text file?

by parv (Vicar)
on May 07, 2015 at 14:16 UTC ( #1126004=note: print w/replies, xml ) Need Help??


in reply to Re^4: Find maximum number in text file and copying its full statement in new text file?
in thread Find maximum number in text file and copying its full statement in new text file?

kcott's version works as you expect. Your modified version (writing lines in a loop to another file) does work here, though output is not what you want.

Run first as perl program.pl -BUG_MODE=0 (kcott's version); then as perl program.pl -BUG_MODE=1 (your version) ...

#!/usr/local/bin/perl -s use warnings; use strict; our $BUG_MODE; printf "** Running in bug mode: %s **\n\n" , map uc( $_ ) , $BUG_MODE +? 'yes' : 'no'; my $re = qr{ \A \s+ ( \d+ ) }x; my $high = 0; my @lines; my $filtered; my $in_fh = \*DATA or die qq[Cannot open DATA: $!]; open (my $out_fh, '>' , \$filtered ) or die qq[Cannot open \$filtered +to write: $!]; while (<$in_fh>) { /$re/ or next; my $num = $1; next if $num < $high; if ( $num > $high ) { $high = $num; @lines = (); } push @lines , $_; $BUG_MODE and print $out_fh @lines; } close ($in_fh); print "Highest number: $high\n"; $BUG_MODE or print $out_fh @lines; close ($out_fh); printf "Filtered output ...\n%s\n" , $filtered ; __DATA__ High fanout nets in the post compile netlist: Fanout Type Name -------------------------- 2 INT_NET Net : c_c Driver: c_pad 2 INT_NET Net : b_c Driver: b_pad 2 INT_NET Net : a_c Driver: a_pad 1 INT_NET Net : sum_c Driver: sum_1_SUM0_0 1 INT_NET Net : N_5 Driver: sum_1_CO0_i
# Output. perl x.pl -BUG_MODE=0 ; perl x.pl -BUG_MODE=1 ; ** Running in bug mode: NO ** Highest number: 2 Filtered output ... 2 INT_NET Net : c_c 2 INT_NET Net : b_c 2 INT_NET Net : a_c ** Running in bug mode: YES ** Highest number: 2 Filtered output ... 2 INT_NET Net : c_c 2 INT_NET Net : c_c 2 INT_NET Net : b_c 2 INT_NET Net : c_c 2 INT_NET Net : b_c 2 INT_NET Net : a_c
  • Comment on Re^5: Find maximum number in text file and copying its full statement in new text file?
  • Select or Download Code

Log In?
Username:
Password:

What's my password?
Create A New User
Node Status?
node history
Node Type: note [id://1126004]
help
Chatterbox?
and the web crawler heard nothing...

How do I use this? | Other CB clients
Other Users?
Others about the Monastery: (7)
As of 2021-01-22 07:31 GMT
Sections?
Information?
Find Nodes?
Leftovers?
    Voting Booth?
    Notices?