PDL::IO::IDL man page on Mageia

Man page or keyword search:  
man Server   17783 pages
apropos Keyword Search (all sections)
Output format
Mageia logo
[printable version]

IDL(3)		      User Contributed Perl Documentation		IDL(3)

NAME
       PDL::IO::IDL -- I/O of IDL Save Files

DESCRIPTION
       PDL::IO::IDL allows you to read and write IDL(tm) data files.

       Currently, only reading is implemented.	Scalars, arrays, and
       structures are all supported.  Heap pointers, compiled code, and
       objects are not supported.  Of those three, only heap pointers are
       likely to be supported in the future.

       This code was not developed by RSI, makers of IDL.

NOTES
       These things seem to work:

       BYTE, SHORT, LONG, FLOAT, and DOUBLE numeric types and arrays
	  All of these types seem to work fine.	 The corresponding variable is
	  stored as a PDL in the hash element with the same name as the
	  original variable in the file.  Arrays are byteswapped as needed and
	  are read in so that the dim list has the same indexing order within
	  PDL as it did within IDL.

       STRINGs and arrays of STRINGs
	  String types are stored as Perl list refs, in the hash element with
	  the same name as the original variable in the file.

       Structures
	  Structures are stored as hash refs.  The elements of the hash may be
	  accessed as values within the hash.

       Common blocks
	  Variables that are notated as being in a common block are read as
	  normal.  Common-block names are collected in the special hash value
	  '+common', which contains a hash each keyword of which is the name
	  of a common block and each value of which is an array of variable
	  names.

       These things are known to be not working and may one day be fixed:

       COMPLEX numbers
	  These could be implemented as 2-arrays or as PDL::Complex values,
	  but aren't yet.

       PTR types
	  These could be implemented as perl refs but currently aren't.

       writing
	  Maybe one day -- but why bother writing a broken file format?
	  NetCDF is better.

       These things are known to be not working and will probably never be
       fixed

       Compiled code
	  Decompiling IDL code is a violation of the IDL end-user license.  To
	  implement this, someone who does not hold an IDL license would have
	  to reverse-engineer a set of .SAV files sent to that person by
	  someone else with an IDL license.

       Objects
	  IDL objects contain compiled code.

FUNCTIONS
   ridl
       $a = ridl("foo.sav");

       Read an IDL save file from a file.

       Upon successful completion, $a is a hash ref containing all of the
       variables that are present in the save file, indexed by original
       variable name.

       IDL identifiers are case insensitive; they're all converted to upper-
       case in the hash that gets returned.  This may be adjustable at a
       future date.  Furthermore, because IDL identifiers can't contain
       special characters, some fields that start with '+' are used to store
       metadata about the file itself.

       Numeric arrays are stored as PDLs, structures are stored as hashes, and
       string and structure arrays are stored as perl lists.  Named structure
       types don't exist in perl in the same way that they do in IDL, so named
       structures are described in the 'structs' field of the global metadata.
       Anonymous structures are treated as simple hashes.  Named structures
       are also simple hashes, but they also contain a field '+name' that
       refers to the name of the structure type.

AUTHOR, LICENSE, NO WARRANTY
       THIS CODE IS PROVIDED WITH NO WARRANTY and may be distributed and/or
       modified under the same terms as PDL itself.

       This code is based on the analysis of the IDL save file format
       published by Craig Markwardt in 2002.

       IDL is a trademark of Research Systems Incorporated (RSI).  The PDL
       development team, and authors of this code, are not affiliated with
       RSI.

perl v5.18.1			  2013-05-12				IDL(3)
[top]

List of man pages available for Mageia

Copyright (c) for man pages and the logo by the respective OS vendor.

For those who want to learn more, the polarhome community provides shell access and support.

[legal] [privacy] [GNU] [policy] [cookies] [netiquette] [sponsors] [FAQ]
Tweet
Polarhome, production since 1999.
Member of Polarhome portal.
Based on Fawad Halim's script.
....................................................................
Vote for polarhome
Free Shell Accounts :: the biggest list on the net