1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93
|
#!/usr/bin/perl -w
use strict;
use vars qw/$infile $outfile $outfile2 $infile2/;
sub error
{
die "Usage: input.pl -i infile -o outfile\n";
}
sub extension
{
my $arg = shift;
$arg =~ s/.*\./\./;
return $arg;
}
sub extensiontable
{
my $ext = shift;
if ( $ext eq ".img" ) { return ".hdr"; }
if ( $ext eq ".hdr" ) { return ".img"; }
if ( $ext eq ".spr" ) { return ".sdt"; }
if ( $ext eq ".sdt" ) { return ".spr"; }
return "";
}
sub getother
{
my $arg = shift;
my $ext = extension($arg);
my $newext = extensiontable($ext);
if ( $newext eq "" )
{
return "";
}
$arg=~s/$ext$//;
$arg=$arg.$newext;
return $arg;
}
if ( $#ARGV != 3 )
{
&error();
}
while ($#ARGV >=0)
{
if ( $ARGV[0] eq "-i" )
{
$infile = $ARGV[1];
shift @ARGV;
shift @ARGV;
}
elsif ( $ARGV[0] eq "-o" )
{
$outfile = $ARGV[1];
shift @ARGV;
shift @ARGV;
}
else
{
&error();
}
}
if ( extension ( $infile ) ne extension ( $outfile ) )
{
die "Incompatible file types\n";
}
-e $infile || die "input file does not exist";
symlink $infile, $outfile;
$outfile2 = getother ( $outfile );
$infile2 = getother ( $infile );
if ( $infile2 ne "" )
{
symlink $infile2, $outfile2;
}
exit(0);
|