#!/usr/bin/env perl use 5.010; use strict; use warnings; my $low = 999999999; my $lowfile; my $lowline; for my $f (@ARGV){ open my $fd, '<', $f or die $!; while(<$fd>){ if(/SCF Done\s*=\s*([\d\.]+)/ and $1 < $low){ $low = $1; $lowfile = $f; $lowline = $.; } } close $fd; } say "File '$lowfile' contains lowest SCF Done value of $low on line $lowline";