in reply to compare size
You can generate sample code as shown below to create a small sample file and then demonstrate the issue or solution.
use strict; use warnings; # First generate a sample data file open (outFile, '>', "delme.txt") or die "Can't create test file: $!"; print outFile <<DATA; Server: win1 ID: D: Space: 6496911360 Server: ux22 ID: D: Space: 7973826560 Server: del2 ID: U: Space: 7973228544 Server: del3 ID: U: Space: 3973228544 DATA close outFile; #Now the solution code local $^I = '.bak'; local @ARGV = ('delme.txt'); #Omit this if the file is provided on the + command line while (<>) { chomp; print; #Print the original line my ($size) = /(\d+)$/; print " <--- too small" if $size < 4_000_000_000; print "\n"; }
Modifies the file to:
Server: win1 ID: D: Space: 6496911360 Server: ux22 ID: D: Space: 7973826560 Server: del2 ID: U: Space: 7973228544 Server: del3 ID: U: Space: 3973228544 <--- too small
Setting $^I and using while (<>) enables in place editing of the files passed on the command line. In this case a list of files is provided by setting $ARGV.
|
|---|