#!/usr/bin/perl -w
use strict;
use File::Basename;

# Philippe Blayo, 2004
#
# Corrige des fichiers Skencil (.sk) corrompus par une conversion
# de texte en courbe
#

if( @ARGV < 1 ) {
    my $prog = basename $0;
    print <<EOT ;
Usage: $prog file.sk [file2.sk ...]

Correct Skencil files (.sk) corrupted by text conversion to curve.
Original files are saved in .bak files.
EOT
  exit 0;
}

for my $file (@ARGV) {    
    my $content = '';
    open my $fh, $file or die "$file: $!";
    { local $/; $content = <$fh>; }
    close $fh;

    # Retire toute ligne Fn() (et Fs() eventuel) non suivie de txt ou pt
    $content =~ s/(?>Fn\(.*?\n     # ligne Fn()
                    (?:Fs.*?\n)?)  # ligne Fs() eventuelle
                  (?!txt|pt)       # non suivie de txt ou pt
                  //gx;
    rename $file, "$file.bak";
    open $fh, ">$file" or die "$file: $!";
    print $fh $content;
    close $fh;
}
