#!/usr/local/bin/perl
#
# $Header: /cvs/ARSperl/example/PrintQual.pl,v 1.2 1999/10/03 04:09:08 jcmurphy Exp $
#
# EXAMPLE
# PrintQual.pl
#
# DESCRIPTION
# Using ars_perl_qualifier, decode the QualifierStruct and
# print it in human readable form. This script is really
# only a basis and handles most of the generic cases. Further
# developement would be needed to fully implement a qualifier
# re-builder.
#
# You can include the routine Decode_QualHash() and Decode_FVoAS()
# in your own scripts by requiring 'ars_QualDecode.pl';
#
# TODO
# TR. and DB. references need to be implemented in ARS.xs
# as of now, we don't get that information, so we can't
# decode it.
#
# ArithStruct is not handled. See the GetFilter.pl example
# for routines that will handle this. This probably doesnt
# matter since i dont think ARS allows you to use arith
# expression in a qualification.
#
# AUTHOR
# jeff murphy
#
# 02/20/97
#
# $Log: PrintQual.pl,v $
# Revision 1.2 1999/10/03 04:09:08 jcmurphy
# various
#
# Revision 1.1 1997/02/20 19:33:02 jcmurphy
# Initial revision
#
#
#
use
ARS;
require
'ars_QualDecode.pl'
;
$debug
= 0;
# Parse command line parameters
(
$server
,
$username
,
$password
,
$schema
,
$qual
) =
@ARGV
;
if
(!
defined
(
$password
)) {
"usage: $0 [server] [username] [password] [schema] [qualification]\n"
;
exit
1;
}
# Log onto the ars server specified
(
$ctrl
= ars_Login(
$server
,
$username
,
$password
)) ||
die
"can't login to the server"
;
# Load the qualifier structure
(
$q
= ars_LoadQualifier(
$ctrl
,
$schema
,
$qual
)) ||
die
"error in ars_LoadQualifier:\n$ars_errstr\n"
;
# Decode the encoded structure
(
$dq
= ars_perl_qualifier(
$ctrl
,
$q
)) ||
die
"ars_perl_qualifier failed: $ars_errstr\n"
;
# Convert the decoded structure to a readable format
$e
= ars_Decode_QualHash(
$ctrl
,
$schema
,
$dq
);
"$e\n"
;
ars_Logoff(
$ctrl
);
exit
0;