use strict; my $filedata = do {local $/; }; my ($ir_value, $ysp_value) = $filedata =~ m/AGF30.*?%.*?(.{10})\n.*?\n.*?(.{10})\n/s; print $ir_value,"\n",$ysp_value; __DATA__ one line two line three line bla AGF30 foor four line feeble % 0123456789 one more two more ABCDEFGHIJ end #### 0123456789 ABCDEFGHIJ