#!/usr/bin/perl use strict; use warnings; my $in_file_name = "D:/temp.s3"; my $data = ""; &extractDataFromSrecFile($in_file_name, \$data); print($data,"\n"); sub extractDataFromSrecFile { my ($file_name, $ref_data) = @_; open(my $fh, "<", $file_name) || die "Could not open \"$file_name\""; $$ref_data = ""; while( my $srec = <$fh> ) { chomp($srec); my $id = substr($srec,0,2); my $nb_data_bytes = hex(substr($srec,2,2)) - 4 - 1; my $address = substr($srec, 4, 8); if( ($id eq "S3") && ($address ne "FC000000") ) { $$ref_data .= substr($srec, 12, ($nb_data_bytes * 2)); } } close( $fh ); }