my $dataFile = $ARGV[0]; tear_down($dataFile); sub tear_down{ my ($dataFile) = @_; open my $file, '<', $dataFile || die "$!"; my count = 3; for ( my $i = 1 ; $i <= $count ; $i++ ) { seek to bytes in file; read x bytes in file; } } sub parse_file_1{ my ($file) = @_; ...do stuff.... } sub parse_file_2{ my ($file) = @_; ...do stuff... } sub parse_file_3{ my ($file) = @_; ...do stuff... }