#!/usr/bin/perl use strict; MAIN:{ my $encstr = "# -*- coding: ISO8859-1 -*-\n"; local *FILE; foreach my $fn (@ARGV) { open(FILE, "<", $fn) or die("$fn: $!\n"); my @lines = ; close(FILE); my $interpreter = ""; if ($lines[0] =~ m/^\#!/) { ($interpreter = shift(@lines)) =~ s|!\s+/usr/bin/env\s+python|!$ENV{'PYTHON_CMD'}|; } if ($lines[0] =~ m/^\#.*-\*-.*coding/) { # leave untouched } else { unshift(@lines, $encstr); } open(FILE, ">", "$fn.new") or die("$fn.new: $!\n"); print(FILE $interpreter, @lines); close(FILE); link("$fn", "$fn.orig"); rename("$fn.new", "$fn"); } }