#!/usr/local/bin/perl

# usage: convmat matfile
# matfile is MATLAB file, creates matfile.map a maple file
# simplified version: use only integers

sub convmat {
  my ($name)= @_;

  open(IN,$name);
  $outnam=">".$name.".map";
  open(OUT,$outnam);
  $cnt=0;
  $first=1;

  while ($line = <IN>) {
    $row="[";
    $startrow=0;
    while ($line =~ "( +)([-]*[0-9]+)(.+)") {
      $cnt=$cnt+1;
      if ($startrow==1) {
        $row=$row.","; }
      else { $startrow=1; }
      $row=$row.$2;
      $line=$3; }
    if ($first==1) {
      print OUT $name.":=array(1..".$cnt.",1..".$cnt.",[\n";
      $first=0; }
    else { print OUT ",\n"; }
    print OUT $row."]";
  }
  print OUT "]);\n";
  close IN;
  close OUT;
}

while ($#ARGV >=0) {
  $file=shift; # get argument
}
convmat($file);
