summaryrefslogtreecommitdiffstats
path: root/graphics/pgperl
diff options
context:
space:
mode:
authorasami <asami@FreeBSD.org>1996-12-24 07:42:52 +0000
committerasami <asami@FreeBSD.org>1996-12-24 07:42:52 +0000
commit0bb7d130c87e2474953a840d89d1524b17d77b3f (patch)
treee3b97ed2b45a9410442a0435b705aeac93a3062a /graphics/pgperl
parent05900502fbdd7702a4d50596001fd9c33b1a3bea (diff)
downloadFreeBSD-ports-0bb7d130c87e2474953a840d89d1524b17d77b3f.zip
FreeBSD-ports-0bb7d130c87e2474953a840d89d1524b17d77b3f.tar.gz
Shorten this file. Please, don't put the entire 218-line README here! :(
Diffstat (limited to 'graphics/pgperl')
-rw-r--r--graphics/pgperl/pkg-descr205
1 files changed, 1 insertions, 204 deletions
diff --git a/graphics/pgperl/pkg-descr b/graphics/pgperl/pkg-descr
index 6ee3207..8b43a1e 100644
--- a/graphics/pgperl/pkg-descr
+++ b/graphics/pgperl/pkg-descr
@@ -1,218 +1,15 @@
-- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
-
- PGPERL - A GRAPHICS EXTENSION FOR PERL.
- ------ - A MACRO LANGUAGE FOR PGPLOT.
-
-- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
-
-INTRODUCTION
-------------
-
'pgperl' is a version of the Perl language which has available
the PGPLOT FORTRAN library, a very popular package for plotting
astronomical data. (As a glance through any issue of ApJ or MNRAS will
confirm.) The details of this involve some complicated C glue routines
but are transparent to the user.
-The idea is to provide a command langage for PGPLOT and a more
-beautiful alternative to the various (incompatible) flavours of MONGO.
-Personally I have always thought that PGPLOT produced far nicer plots
-but at greater pain owing to the long compile/link/run cycle of F77 or
-C. Wouldn't it be nice if one could call PGPLOT subroutines directrly
-from the elegant perl language? Five days after reading `Programming
-Perl' I found myself at a telescope with little to do, so I hacked out
-the basics of `pgperl'. The rest followed during the odd spare evening
-in Cambridge.
-
-Unlike MONGO, perl is a real C-like language with full control
-structures, and is very fast and efficient. All the power of perl (and
-believe me that is a *lot*) is available to extract data to plot from
-multitudes of files in complicated free formats. Using pgperl one has
-all the extra functionality of SM (v.t. `SuperMongo') and IMHO the
-language is far more robust and elegant. Unlike the MONGOs pgperl is
-free and public domain - though I trust people will communicate
-improvements back to me to avoid version explosions.
-
-pgperl is *complete* - all the PGPLOT routines can be used and I have
-tested most of them.
-
-I have tried very hard to keep the pgperl calls "obvious" to anybody
-who knows PGPLOT and perl. See the notes below for examples of PGPLOT
-use from pgperl. I refer people to the excellent reference manuals
-available for PGPLOT and perl for complete information.
-
-The current version is 1.0 and is built with PGPLOT v5.0 commands.
-There are versions availalable for perl4 (which requires making a new
-perl executable linked with pgplot) and perl5 (as a dynamically loadble
-perl5 module). If you use pgperl please drop me an email and I can put
-you on my mailing list for updates.
-
-See the file LICENSE in the pgperl distribution for copyright/licensing
+See the file LICENSE in /usr/local/share/doc/pgperl for copyright/licensing
information and the file pgperl.doc on how to use pgplot from perl.
This is also similar documentation on the pgperl WWW Home Page at:
http://www.ast.cam.ac.uk/~kgb/pgperl.html
-Many thanks to Frossie for the original inspiration, and to Larry Wall
-and Tim Pearson for providing the excellent ingredients I stuck
-together.
-
-enjoy (I hope),
-
-Karl Glazebrook,
----
-kgb@mail.ast.cam.ac.uk
-Institute of Astronomy, Cambridge
-
-THE PERL5 VERSION OF PGPERL - CHANGES FROM PERL4
-------------------------------------------------
-
-This file describes the use and enhancements of the pgperl package (PGPLOT
-graphics for perl) with perl5. For installation instructions see the file
-BUILDING.
-
-
-LOADING PGPERL
---------------
-
-Since perl5 supports dynamic loading it is no longer necessary to make
-a special version of the perl binary which has been linked with PGPLOT.
-One just uses the normal perl5 binary and the statement:
-
-use PGPLOT; # Load PGPLOT module (perl5)
-
-will load in the PGPLOT module which contains all the C/perl necessary for
-pgperl (assuming pgperl has been installed in the correct place).
-
-This replaces the older perl4 statement:
-
-require 'pgplot.pl'; # Obsolete - perl4 only
-
-This will still work though - it aliases to the new command - so all old
-pgperl scripts should work unchanged with perl5, subject to the areas where
-perl5 itself has a behaviour slightly different from perl4. These are rare
-though and are changes for the better.
-
-
-IMPROVEMENTS IN CALLING SYNTAX
-------------------------------
-
-In the old pgperl pgplot routines were called thus:
-
-&pgdraw($x, $y);
-
-In the new perl5 version the "&" is no longer necessary and one
-can say:
-
-pgdraw($x, $y);
-
-Moreover all functions can now be used as list operators and so one
-can even say:
-
-pgdraw $x, $y ;
-
-(Beware operator precedence though! - see perlop(1))
-
-
-IMPROVEMENTS IN ARRAY PASSING
------------------------------
-
-In the old pgperl the only way to pass an array was to use the "*"
-notation ("*x" passes a "glob reference" to all variables named "x"),
-e.g.:
-
-&pgpoint($n, *x, *y, $symbol); # Still works
-
-This continues to work. However one can also pass new-style references
-to individual arrays, e.g.:
-
-pgpoint($n, \@x, \@y, 17); # Direct reference
-
-or using variables to hold references:
-
-$xref = \@x; $yref = \@y;
-pgpoint($n, $xref, $yref, 17);
-
-or even:
-
-pgpoint 3, [1,2,3], [4,5,6], 17; # Anonymous references
-
-See perlref(1) for all the grubby details on references in perl5.
-
-
-SCALARS INSTEAD OF ARRAYS
--------------------------
-
-Because of the extra magic now built into pgperl it is possible to
-use scalar variables with array routines, e.g.:
-
-$x=2; $y=4;
-pgpoint(1, $x, $y, 17); # Plot a single point
-
-
-This was not possible in perl4 which resulted in the creation of special
-routines to deal with scalars, e.g. pgpoint1($x,$y,$sym). These old names
-will still work, for easy backwards compatability, but they are no longer
-necessary.
-
-
-TWO-DIMENSIONAL ARRAYS
-----------------------
-
-perl5 now supports multi-dimensional arrays by means of the reference
-syntax. (In fact it supports N-dimensional mixtures of normal arrays
-and associative arrays but let's not go into that - see perlref(1)).
-
-In the old pgperl 2D arrays had to be passed to pgplot as one-D arrays,
-e.g.:
-
-pggray(*img, $nx, $ny, 1, $nx, 1,$ny, $max, $min ,*tr); # @img is 1D
-
-This still works but is also now possible to pass a reference to a
-2D array, e.g.:
-
-for($i=0; $i<128; $i++) { for($j=0; $j<128; $j++) { # Set up 128x128 image
- $$img[$i][$j] = sqrt($i*$j) / 128;
-}}
-pggray($img,128,128,1,128,1,128,1,0,*tr); # Plot image
-
-The type of the array is automatically sensed - but make sure the array
-is square and all the elements are defined!
-
-
-Finally there exists a mechanism for efficient memory handling of large
-images. They can be stored as byte-arrays in scalar variables and are
-automgically sensed and passed onwards to the PGPLOT routines with no
-conversion, e.g.:
-
-open(IMG,"test.img"); # Read in 128x128 image stored in file as binary
-read(IMG, $img, 4*128*128); # data, i.e. list of 4 byte float [C type] /REAL*4
-close(IMG); # [f77 type] values, and store as perl string.
-pggray($img,128,128,1,128,1,128,1,0,*tr); # Plot
-
-Obviously it is not possible to do any operations on such objects with perl
-functions unless they are first converted to normal perl arrays (e.g. with
-@image = unpack("f*",$img);) but this is useful for efficient passing around
-of large images and one might imagine using library routines to read data
-from files and return these structures. (Note: by "large" I mean >=1024x1024
-- for the 128x128 example it makes negligible difference.)
-
-
-EXAMPLES
---------
-
-All these features are demonstrated in the new test script called
-testpgperl10.pg (which only works with perl5).
-
-perl5 also has trendy object-oriented features - an example of
-using this with PGPLOT is shown in testpgperl11.pg for the sake of
-amusement.
-
-
Karl Glazebrook,
---
kgb@ast.cam.ac.uk Institute of Astronomy, Cambridge, U.K.
-pgperl software: http://www.ast.cam.ac.uk/~kgb/pgperl.html
-
------------------------------------------------------------------------------
- Last Modified. 18/May/1995.
OpenPOWER on IntegriCloud