chiark / gitweb /
genspic
[chiark-utils.git] / scripts / gnucap2gnuplot
1 #!/usr/bin/perl
2
3 sub fail ($) { die "gnucap2gnuplot: $_[0]\n"; }
4
5 while ($ARGV[0] =~ m/^\-./) {
6     if (m/^\-\-$/) {
7         last;
8     } elsif (m/^\-g$/) {
9         $rungnucap= 1;
10     } elsif (m/^\-G$/) {
11         $rungnucap= 0;
12     } elsif (m/^\-o(.+)$/) {
13         $ofb= $1;
14     } else {
15         fail("unknown option $_\n");
16     }
17 }
18
19 if (@ARGV) {
20     @ARGV==1 or fail("one input file only please");
21     $if= shift @ARGV;
22     $ofb= $if unless defined $ofb;
23     $rungnucap= $if =~ m/\.cir$/i unless defined $rungnucap;
24     open STDIN, $rungnucap ? "gnucap -b $if |" : "< $if"
25         or fail("open $if: $!");
26 } else {
27     fail("cannot run gnucap on stdin, run it yourself") if $rungnucap;
28     fail("you must specify -o... when running from stdin") unless defined $ofb;
29 }
30
31 $sof= "./$sof" unless $sof =~ m,/,;
32
33 # $Id: gnucap2gnuplot,v 1.4 2004-03-24 23:53:41 ianmdlvl Exp $