#!/usr/bin/perl use strict; use warnings; my ($in, $out) = @ARGV; die "Usage: $0 " if ! defined $in || ! defined $out; open(my $in_fh, '<', $in) or die "Unable to open '$in' for reading: $!"; open(my $out_fh, '>', $out) or die "Unable to open '$out' for writing: $!"; while ( <$in_fh> ) { chomp; my ($name, $add, $city, $state, $zip) = unpack('A10A20A15A12A5', $_); $zip = 15206 if uc($city) eq 'PITTSBURGH'; print $out_fh $name, $add, $city, $state, $zip, "\n"; }