in reply to Get latitude and longitude from Canadian postal codes

unless ($line =~ m/([A-Z]\d[A-Z]\s*\d[A-Z]\d)/i) {

Your pattern is over-broad for a Canadian postal code (see: Canadian postal code)  You probably want something like:
unless ( $line =~ m/([ABCEGHJ-NPRSTVXY][0-9][ABCEGHJ-NPRSTV-Z]\s*[0-9] +[ABCEGHJ-NPRSTV-Z][0-9])/i ) {