X-Git-Url: https://pintos-os.org/cgi-bin/gitweb.cgi?a=blobdiff_plain;f=perl-module%2Flib%2FPSPP.pm;h=2dccd10a36973e560e8be7d267b92f9bdb918ac1;hb=73ee9eab1bd4159ad1982f3012abf3631131052e;hp=f99afde36ea7d68b85591708ec1595f83c6ca7c0;hpb=591e1f9d131470cdd92a2ea3f15d9ae53be36918;p=pspp-builds.git diff --git a/perl-module/lib/PSPP.pm b/perl-module/lib/PSPP.pm index f99afde3..2dccd10a 100644 --- a/perl-module/lib/PSPP.pm +++ b/perl-module/lib/PSPP.pm @@ -4,7 +4,7 @@ use warnings; =head1 NAME -PSPP - Perl extension to PSPP +PSPP-Perl - Perl extension to PSPP =head1 SYNOPSIS @@ -12,8 +12,8 @@ PSPP - Perl extension to PSPP =head1 DESCRIPTION -PSPP:: provides an interface to the libraries used by pspp to create -system files. +PSPP-Perl provides an interface to the libraries used by pspp to read and +write system files. =head1 EXPORT @@ -21,7 +21,7 @@ None by default. =cut BEGIN { - do 'pspp-vers.pl' || die "No version set"; + $PSPP::VERSION='0.7.2'; require XSLoader; XSLoader::load('PSPP', $PSPP::VERSION); } @@ -87,9 +87,15 @@ sub new =pod +=head3 get_var_cnt () + +Returns the number of variables in the dictionary. + =head3 get_var ($idx) Returns the Cth variable from the dictionary. +Returns undef if C is greater than or equal to the number +of variables in the dictionary. =cut @@ -106,6 +112,28 @@ sub get_var return $var; } +=pod + +=head3 get_var_by_name ($name) + +Returns the variable from the dictionary whose name is C. +If there is no such variable, a null reference will be returned. + +=cut + +sub get_var_by_name +{ + my $dict = shift; + my $name = shift; + my $var = pxs_get_var_by_name ($dict, $name); + + if ( ref $var ) + { + bless ($var, "PSPP::Var"); + } + return $var; +} + package PSPP::Fmt; @@ -169,7 +197,7 @@ package PSPP::Var; =head3 new ($dict, $name, %input_fmt) Creates and returns a new variable in the dictionary C. The -new variable will have the name C. +new variable will have the name C. C must be a valid UTF8 string. The input format is set by the C parameter (See L). By default, the write and print formats are the same as the input format. @@ -198,7 +226,7 @@ sub new =head3 set_label ($label) -Sets the variable label to C