[11992] in Perl-Users-Digest
Perl-Users Digest, Issue: 5592 Volume: 8
daemon@ATHENA.MIT.EDU (Perl-Users Digest)
Fri May 7 09:07:12 1999
Date: Fri, 7 May 99 06:00:17 -0700
From: Perl-Users Digest <Perl-Users-Request@ruby.OCE.ORST.EDU>
To: Perl-Users@ruby.OCE.ORST.EDU (Perl-Users Digest)
Perl-Users Digest Fri, 7 May 1999 Volume: 8 Number: 5592
Today's topics:
[Perl] How to find the Perl FAQ <rootbeer&pfaq*finding*@redcat.com>
About perlre... <fabascal@gredos.cnb.uam.es>
Debug <info@grobler.co.za>
Re: Excel graph using PERL ? <conmara@tcon.net>
Exec error-Modification of a read-only.... <bebeet@mail.welchallyn.com>
Re: Frequent Posters: new group for WWW applications of (Bart Lateur)
How process a file? dtillaud@hotmail.com
Re: How process a file? <ebohlman@netcom.com>
how to grep -v ?? pkey@sghms.ac.uk
Re: How to keep travelled path in hash ? (Michel Dalle)
NT Login with Perl <laweston@bellsouth.net>
Re: Slice [N..end] of unnamed array? (Larry Rosler)
Re: testing expressions in the IF statement <jwilson@ic.ac.uk>
Re: testing expressions in the IF statement (Bart Lateur)
Troubles with filehandle reference <s.boisson@insyscom.fr>
Re: Using LWP: getting the code for a website? (Joseph4829)
Special: Digest Administrivia (Last modified: 12 Dec 98 (Perl-Users-Digest Admin)
----------------------------------------------------------------------
Date: Fri, 07 May 1999 10:24:02 GMT
From: Tom Phoenix <rootbeer&pfaq*finding*@redcat.com>
Subject: [Perl] How to find the Perl FAQ
Message-Id: <pfaqmessage926072642.24483@news.teleport.com>
Archive-name: perl-faq/finding-perl-faq
Posting-Frequency: weekly
Last-modified: 10 Sep 1998
[ That "Last-modified:" date above refers to this document, not to the
Perl FAQ itself! The last major update of the Perl FAQ was in Summer of
1998; of course, ongoing updates are made as needed. ]
For most people, this URL should be all you need in order to find Perl's
Frequently Asked Questions (and answers).
http://cpan.perl.org/doc/FAQs/
Please look over (but never overlook!) the FAQ and related docs before
posting anything to the comp.lang.perl.* family of newsgroups.
# # # # # # # # # # # # # # # # # # # # # # # # # # # # # #
Beginning with Perl version 5.004, the Perl distribution itself includes
the Perl FAQ. If everything is pro-Perl-y installed on your system, the
FAQ will be stored alongside the rest of Perl's documentation, and one
of these commands (or your local equivalents) should let you read the FAQ.
perldoc perlfaq
man perlfaq
If a recent version of Perl is not properly installed on your system,
you should ask your system administrator or local expert to help. If you
find that a recent Perl distribution is lacking the FAQ or other important
documentation, be sure to complain to that distribution's author.
If you have a web connection, the first and foremost source for all things
Perl, including the FAQ, is the Comprehensive Perl Archive Network (CPAN).
CPAN also includes the Perl source code, pre-compiled binaries for many
platforms, and a large collection of freely usable modules, among its
560_986_526 bytes (give or take a little) of super-cool (give or take
a little) Perl resources.
http://cpan.perl.org/
http://www.perl.com/CPAN/
http://cpan.perl.org/doc/FAQs/FAQ/html/
http://www.perl.com/CPAN/doc/FAQs/FAQ/html/
You may wish or need to access CPAN via anonymous FTP. (Within CPAN,
you will find the FAQ in the /doc/FAQs/FAQ directory. If none of these
selected FTP sites is especially good for you, a full list of CPAN sites
is in the SITES file within CPAN.)
California ftp://ftp.cdrom.com/pub/perl/CPAN/
Texas ftp://ftp.metronet.com/pub/perl/
South Africa ftp://ftp.is.co.za/programming/perl/CPAN/
Japan ftp://ftp.dti.ad.jp/pub/lang/CPAN/
Australia ftp://cpan.topend.com.au/pub/CPAN/
Netherlands ftp://ftp.cs.ruu.nl/pub/PERL/CPAN/
Switzerland ftp://sunsite.cnlab-switch.ch/mirror/CPAN/
Chile ftp://ftp.ing.puc.cl/pub/unix/perl/CPAN/
If you have no connection to the Internet at all (so sad!) you may wish
to purchase one of the commercial Perl distributions on CD-Rom or other
media. Your local bookstore should be able to help you to find one.
Another possibility is to use one of the FTP-via-email services; for
more information on doing that, send mail to <mail-server@rtfm.mit.edu>
(not to me!) with these lines in the body of the message, flush left:
setdir usenet-by-group/news.announce.newusers
send Anonymous_FTP:_Frequently_Asked_Questions_(FAQ)_List
# # # # # # # # # # # # # # # # # # # # # # # # # # # # # #
Comments and suggestions on the contents of this document
are always welcome. Please send them to the author at
<pfaq&finding*comments*@redcat.com>. Of course, comments on
the docs and FAQs mentioned here should go to their respective
maintainers.
Have fun with Perl!
--
Tom Phoenix Perl Training and Hacking Esperanto
Randal Schwartz Case: http://www.rahul.net/jeffrey/ovs/
------------------------------
Date: Fri, 07 May 1999 12:23:52 +0200
From: Federico Abascal <fabascal@gredos.cnb.uam.es>
Subject: About perlre...
Message-Id: <3732BF38.1DCA91F8@gredos.cnb.uam.es>
Hello,
I'm trying to learn about the perl regular expressions. Do you know how
to break a string into tokens of letters and numbers.
For example:
"hello34 5hola 222 que tal3 ar22e you"
in hello 34 5 hola 222 que tal 3 ar 22 e you
or:
"555 adios by45e"
in 555 adios by 45 e.
If it starts with numbers, /(\d+)(\D+)/g works ok. But if sometimes
starts with letters, how to do?
Thanks in advance,
Fede
------------------------------
Date: Fri, 07 May 1999 14:06:13 +0200
From: Phillip Grobler <info@grobler.co.za>
Subject: Debug
Message-Id: <3732D734.E1C64E3F@grobler.co.za>
How do i Single step through a program on Win NT
--
Phillip Grobler
______________________________________
C.a.T.S. (Computer Assisted Telephony Systems CC),
P.O. Box 2238, Bellville, 7535 South Africa.
Tel +27 21 930 4469 Mobile +27 82 787 9502 Fax +27 21 930 1829
http://www.grobler.co.za
______________________________________
------------------------------
Date: Fri, 07 May 1999 07:25:25 -0500
From: Ken McNamara <conmara@tcon.net>
Subject: Re: Excel graph using PERL ?
Message-Id: <3732DBB5.34FA94F1@tcon.net>
Try the 'Chart' module written by David Bonner - it is much easier than
exporting to and manipulating Excel. What's more, you can output in GIF
images ready to display on a web page.
KenMc
tvn007@my-dejanews.com wrote:
> Hi,
>
> If I have the data as shown below:
> (just small sample of data)
>
> ---------------------------------
> Time speed
>
> 0 0
> 2 10
> 5 18
> 9 22
> 12 25
>
> ---------------------------------
>
> I would like to have these data read in MS-Excel table and
> automatically graph Time VS. speed.
>
> Would someone help me on this ?
>
> Thanks in advance,
>
> -----------== Posted via Deja News, The Discussion Network ==----------
> http://www.dejanews.com/ Search, Read, Discuss, or Start Your Own
------------------------------
Date: Fri, 07 May 1999 12:22:56 GMT
From: Tom Bebee <bebeet@mail.welchallyn.com>
Subject: Exec error-Modification of a read-only....
Message-Id: <7gulut$2bu$1@nnrp1.deja.com>
I am trying to use Perl to read my syslog file to report on ftp activity on
my AIX servers. I have written a script that reads each line and prints
detail on a couple of record types. I am scanning the file looking for 2
particular strings ("LOGIN", "IMPORT"). When I find the strings I have
separate sub routines that process each particular type of record. Code as
follows:
while (<STDIN>) {
$logrec = $_;
{ &Init_Vars; }
$inpcnt = $inpcnt + 1;
chomp ($logrec);
if ($logrec =~ m/LOGIN/)
{ &Process_Login_Info; }
if ($logrec =~ m/IMPORT/)
{ &Process_Import_Info; }
The Process_Login_Info routine executes and produces output - with the split
function working:
sub Process_Login_Info {
($mth, $day, $time, $node, $proc, $service, $rectype,
$source, $ipaddr, $uid) = split (/\s+/, $logrec);
$Uid = $uid;
$Date = "$mth $day";
$Time = $time;
$Ipaddr = $ipaddr;
$Action = $rectype;
chop($Ipaddr);
print "$Date\t$Time\t$Action\t$Uid\t$Ipaddr\n";
} # End Get_Login_Info
The next record meets the "IMPORT" string search criteria and calls the
Process_Import_Info routine, where the split function is failing with the
error
"Modification of a read-only value attempted at ./syslog_ftp.pl line 72
<STDIN> chunk 3.
sub Process_Import_Info {
($1, $2, $3, $4, $5, $6, $rectype, $8, $9, $fname, $11) =
split (/\s+/, $logrec);
chop($fname);
$Action = $rectype;
$Detail = $fname;
chop($Ipaddr);
print "\t\t\t$Action\t$Detail\n";
} # End Get_Action_Info
I have looked in our Perl books but the error message description does not
explain what the problem is. I don't understand how the first split works
and the next one does not. I did review the discussions here in Deja News
but being new to Perl - don't understand those recommendations either.
If anyone has any work around or explanation I would be grateful.
TIA
--
Tom Bebee
Welch Allyn Inc.
Skaneateles, Falls NY
-----------== Posted via Deja News, The Discussion Network ==----------
http://www.dejanews.com/ Search, Read, Discuss, or Start Your Own
------------------------------
Date: Fri, 07 May 1999 11:25:38 GMT
From: bart.lateur@skynet.be (Bart Lateur)
Subject: Re: Frequent Posters: new group for WWW applications of Perl?
Message-Id: <3734c995.15595349@news.skynet.be>
Tad McClellan wrote:
>Charles R. Thompson wrote:
>
>: The grey area for me is something like a Perl library for
>: flat-file database routines that just *happens* to run on a web
>: server. Sometimes those questions get sent away if the phrase
>: 'website' pops up.
>: I can't help but think something like
>:
>: comp.lang.perl.webscripting
>: comp.lang.perl.internet (this sounds 'correct')
>: comp.lang.perl.internetdev
>
> I would not approve (or vote for) anything like that
> in the comp.lang.perl.* hieararchy.
>
> If it is about WWW applications, then it should be in the
> hierarchy for WWW stuff somewhere.
My comments:
A] "comp.infosystems.www.authoring.cgi" is a contradiction in terms.
"CGI" is not authored. Authoring is dabbling in something like
Powerpoint or Macromedia Director. CGI is programmed.
And Javascript doesn't involve CGI.
B] The newsgroup comp.lang.perl.misc is IMO a bit too narrowly focused
on Perl. It's not just CGI; it's ANYTHING in the "real world". Want to
learn more about sockets? Then, clpm is not for you. Damned. Even
questions about proper file locking don't really belong here.
Aren't we being just a bit too narrow-minded?
C] I can understand Tad's feeling that it's doesn't belong in the
comp.lang.* hierarchy. OTOH, other newsgroups in the heirarchy aren't so
picky. Want to know how to get the images dimensions from a GIF file in
Delphi? Ask in the Delphi newsgroup. Nobody minds (except if it's a FAQ
;-).
Anyway, something like this may be nice:
comp.programming.realworld.perl
Where ANY programming problem, provided that the solution must be
produced in perl, would be acceptable.
That's what people not accustomed to clpm would expect from it.
Bart.
------------------------------
Date: Fri, 07 May 1999 10:22:15 GMT
From: dtillaud@hotmail.com
Subject: How process a file?
Message-Id: <7guesk$sk0$1@nnrp1.deja.com>
hello
I'd like to open a file and to check if a string is into this file.
I do as bellow :
$EverPlay=0;
$Buffer=$NameP;
$Buffer.=' ';
$Buffer.=$SurnameP;
open(FILE,"<file.txt");
while(<FILE>)
{
$Line = <FILE>;
if($Line =~ /$Buffer/)
{
$EverPlay=1;
}
}
close (FILE);
The problem is that Everplay becomes true only if the string is twice inside.
Please help!!
David
-----------== Posted via Deja News, The Discussion Network ==----------
http://www.dejanews.com/ Search, Read, Discuss, or Start Your Own
------------------------------
Date: Fri, 7 May 1999 11:02:15 GMT
From: Eric Bohlman <ebohlman@netcom.com>
Subject: Re: How process a file?
Message-Id: <ebohlmanFBCzzr.ou@netcom.com>
dtillaud@hotmail.com wrote:
: I'd like to open a file and to check if a string is into this file.
: I do as bellow :
: $EverPlay=0;
: $Buffer=$NameP;
: $Buffer.=' ';
: $Buffer.=$SurnameP;
The above three statements are better written as:
$buffer="$NameP $SurnameP";
Read up on variable interpretation.
: open(FILE,"<file.txt");
*Always* check to see whether an attempt to open a file succeeded before
plowing on! Failing to do so will at best cause you to waste huge
amounts of time debugging; at worst it can cause your programs to destroy
important files (if, for example, your program is rewriting a file).
open(FILE,"<file.txt") or die "Couldn't open file.txt: $!";
: while(<FILE>)
This reads a line from FILE into $_ each time around the loop.
: {
: $Line = <FILE>;
This reads the *next* line from FILE into $line. Each time around the
loop, you read *two* lines from FILE; $line gets *only* the even-numbered
ones.
The easiest way to fix this is to remove the above statement and change
the loop to:
while ($line=<FILE>) {
If there's a possibility that this code is going to be run on pre-5.005
versions of Perl, you should be defensive and use:
while (defined($line=<FILE>)) {
: if($Line =~ /$Buffer/)
: {
: $EverPlay=1;
If that's all you're doing, you should add:
last;
here so you don't waste time examining the rest of the file once you've
found what you're looking for.
: }
: }
: close (FILE);
: The problem is that Everplay becomes true only if the string is twice inside.
See above.
------------------------------
Date: Fri, 07 May 1999 12:08:47 GMT
From: pkey@sghms.ac.uk
Subject: how to grep -v ??
Message-Id: <3732d707.13609925@news.dl.ac.uk>
i want to grep an array and return lines that do not contain the
pattern i.e. grep -v
@ok = grep -v (/data/, @passwd_array);
obviously the above line doesn't work - is there a way of doing this?
paul
------------------------------
Date: Fri, 07 May 1999 11:40:34 GMT
From: michel.dalle@usa.net (Michel Dalle)
Subject: Re: How to keep travelled path in hash ?
Message-Id: <7gujei$eot$1@news.mch.sbs.de>
In article <1dreslz.7nlu0t5sn7f6N@p185.block2.tc3.state.ma.tiac.com>, rjk@linguist.dartmouth.edu (Ronald J Kimball) wrote:
>Michel Dalle <michel.dalle@usa.net> wrote:
>
>> So mike followed the route post1->post2->post1->post3, and john
>> followed the route post3->post1->post2->post2.
>>
>> Now, what would be the best hash/array structure to keep track of each
>> followed path,
>
>I would suggest a hash of lists, as in:
>
>%paths = (
> mike => [qw(post1 post2 post1 post3)],
> john => [qw(post3 post1 post2 post2)],
>);
>
>> and find the most travelled path through my
>> website/city/forrest/... ? (I'll have thousands of people walking all over
> the
>> place)
>
>I would suggest a hash from paths to counts. Scan through the list of
>paths, and increment a value in a hash for each one.
>
>while(($name, $path) = each %paths) {
> $counts{join('->', @{$path})}++;
>}
>
>@paths = sort {$counts{$b} <=> $counts{$a}} keys %counts;
>
>Now you have a list of the paths, with the most frequently traveled
>paths at the beginning.
OK, so basically, I just store each possible path in a hash. Isn't that
quite expensive in terms of memory ? I could have 100s of pages/pubs,
with each page/pub referring to 10s of other pages/pubs, and people
visiting 10s of pages/pubs at one time. So I will end up with 10000s
of paths, each with 10s of pages/pubs.
I was thinking of something like this :
1) read the file line by line, and build up a hash of lists as you describe
above
2) whenever a visit is done (based on timeout here), transform the path
into a tree, like :
$node[0]{'name'} = "root"; # contains the name of the current node (not
unique !)
$node[0]{'children'} = (); # contains the node nr of the children
$node[0]{'count'} = 0; # contains the number of times this node is travelled
$node[0]{'parent'} = undef; # contains the node nr of the parent
$numnodes = 1; # number of nodes
sub add_child {
my($nodenr,$childname) = @_;
my($childnr, $nr);
$childnr = -1;
foreach $nr (@{$node[$nodenr]{'children'}}) {
if ($node[$nr]{'name'} eq $childname) {
$childnr = $nr;
last;
}
}
if ($childnr == -1) {
$childnr = $numnodes;
$numnodes++;
$node[$childnr]{'name'} = $childname;
$node[$childnr]{'children'} = ();
$node[$childnr]{'parent'} = $nodenr;
$node[$childnr]{'count'} = 0;
}
$node[$childnr]{'count'}++;
return $childnr;
}
$curnode = 0;
foreach $post (@path) {
$curnode = &add_child($curnode,$post);
}
&add_child($curnode,"The End");
How does this compare with the previous solution in terms of memory
and processing ? And how can I improve this ?
One thing I see is to store the name in a separate list, and just save the
name index in the {'name'} part. This would replace the hash key with a
simple number, but would require more processing for each node.
And would it make a difference if I used a list of lists, instead of a list
of hashes ?
Thanks again for any suggestions,
Michel.
--
aWebVisit - extracts visitor information from WWW logfiles and shows
the top entry, transit, exit and 'hit&run' pages, the links followed
inside your website, the time spent per page, the visit duration etc.
For more details, see http://gallery.uunet.be/Michel.Dalle/awv.html
------------------------------
Date: Fri, 07 May 1999 10:38:18 GMT
From: "Leighton A. Weston" <laweston@bellsouth.net>
Subject: NT Login with Perl
Message-Id: <uozY2.126$jz2.124685@news2.mco>
Can someone help me... I am looking for a script that will go a NT login
(workstation)..
------------------------------
Date: Fri, 7 May 1999 03:51:27 -0700
From: lr@hpl.hp.com (Larry Rosler)
Subject: Re: Slice [N..end] of unnamed array?
Message-Id: <MPG.119c657a9565cd3d9899f2@nntp.hpl.hp.com>
[Posted and a courtesy copy sent.]
In article <7gu7r5$bt$1@wallace.stir.ac.uk> on 7 May 1999 08:21:57 GMT,
Sam Nelson <sam@cs.stir.ac.uk> says...
...
> But I can use
>
> while(<>) {
> @WholeLot=split(':');
> @LastFewFields=$WholeLot[$N..-1]; }
>
> or
>
> while(<>) {
> ($D1,$D2,$D3,..,$DN,@LastFewFields)=$WholeLot[$N..-1]; }
>
> but neither of these is particularly elegant.
Nor particularly correct, for two reasons:
1. An array slice is an array, while you are assigning a scalar.
2. As several others have told you already, you cannot count up from a
non-negative integer to -1.
--
(Just Another Larry) Rosler
Hewlett-Packard Company
http://www.hpl.hp.com/personal/Larry_Rosler/
lr@hpl.hp.com
------------------------------
Date: 7 May 1999 11:08:56 GMT
From: "Jeff Wilson" <jwilson@ic.ac.uk>
Subject: Re: testing expressions in the IF statement
Message-Id: <01be987a$00854a80$d53ec69b@leicester>
How about
print "$x is less than 5 and greater than 2\n" if($x =~ /^3|4/);
--
Jeff Wilson
London UK
Bart Lateur <bart.lateur@skynet.be> wrote in article
<373aaa1c.7538621@news.skynet.be>...
> wrote:
>
> >try the following:
> >
> >if ( ($x < 5 ) && ($x > 2) ) {
> >print" $x is less than 5 and greater than 2 \n";
> >}
>
> "and" instead of "&&" works too. The only difference between those two
> is the precedence, but that doesn't make any difference in this case.
>
> Bart.
>
------------------------------
Date: Fri, 07 May 1999 11:55:45 GMT
From: bart.lateur@skynet.be (Bart Lateur)
Subject: Re: testing expressions in the IF statement
Message-Id: <3732d489.18399106@news.skynet.be>
Jeff Wilson wrote:
>How about
>
> print "$x is less than 5 and greater than 2\n" if($x =~ /^3|4/);
foreach $x (3, 4, 32, 43, 12345) {
print "$x is less than 5 and greater than 2\n" if($x =~ /^3|4/);
}
Bart.
------------------------------
Date: Fri, 07 May 1999 12:19:53 +0200
From: Stephane Boisson <s.boisson@insyscom.fr>
Subject: Troubles with filehandle reference
Message-Id: <3732BE49.A094BAF@insyscom.fr>
Hello, I got some strange behavior with two different perl
version:
I made CGI in Perl using Objects (in modules). This work very
well with IIS4 or Apache (Perl 5.005_02/Win32).
But this don't work anymore with Apache+Perl 5.004_04
(RapidSite) for the filehandle references:
with 'use strict', I got:
Can't use string ("*MyModule::*") as a symbol ref while
"strict refs" in use at MyModule.pm line 516.
Which means I have to use hard references..
Without 'use strict', there is no more errors but the script
don't work as expected (filehandle is like invalid and file is
not read).
Extract from code where the handle is openned
...
local *HANDLE;
return if( defined( $self->{'HANDLE'} ) or
not open( HANDLE, $self->{'FILENAME'} ) or
not flock( HANDLE, $SHARED ));
$self->{'HANDLE'} = *HANDLE;
...
Extract from code where the handle is used
...
my $handle = $self->{'HANDLE'};
my $line;
while( $line = <$handle> ) { <-- Error is here
chomp( $line );
...
}
...
Does anybody knows how to change the syntax to make it work with
that 5.005 version?
Stiphane
------------------------------
Date: 7 May 1999 12:01:35 GMT
From: joseph4829@aol.com (Joseph4829)
Subject: Re: Using LWP: getting the code for a website?
Message-Id: <19990507080135.07327.00000517@ng-cs1.aol.com>
Is there a faster way using sockets? Please reply by email too :).
------------------------------
Date: 12 Dec 98 21:33:47 GMT (Last modified)
From: Perl-Request@ruby.oce.orst.edu (Perl-Users-Digest Admin)
Subject: Special: Digest Administrivia (Last modified: 12 Dec 98)
Message-Id: <null>
Administrivia:
Well, after 6 months, here's the answer to the quiz: what do we do about
comp.lang.perl.moderated. Answer: nothing.
]From: Russ Allbery <rra@stanford.edu>
]Date: 21 Sep 1998 19:53:43 -0700
]Subject: comp.lang.perl.moderated available via e-mail
]
]It is possible to subscribe to comp.lang.perl.moderated as a mailing list.
]To do so, send mail to majordomo@eyrie.org with "subscribe clpm" in the
]body. Majordomo will then send you instructions on how to confirm your
]subscription. This is provided as a general service for those people who
]cannot receive the newsgroup for whatever reason or who just prefer to
]receive messages via e-mail.
The Perl-Users Digest is a retransmission of the USENET newsgroup
comp.lang.perl.misc. For subscription or unsubscription requests, send
the single line:
subscribe perl-users
or:
unsubscribe perl-users
to almanac@ruby.oce.orst.edu.
To submit articles to comp.lang.perl.misc (and this Digest), send your
article to perl-users@ruby.oce.orst.edu.
To submit articles to comp.lang.perl.announce, send your article to
clpa@perl.com.
To request back copies (available for a week or so), send your request
to almanac@ruby.oce.orst.edu with the command "send perl-users x.y",
where x is the volume number and y is the issue number.
The Meta-FAQ, an article containing information about the FAQ, is
available by requesting "send perl-users meta-faq". The real FAQ, as it
appeared last in the newsgroup, can be retrieved with the request "send
perl-users FAQ". Due to their sizes, neither the Meta-FAQ nor the FAQ
are included in the digest.
The "mini-FAQ", which is an updated version of the Meta-FAQ, is
available by requesting "send perl-users mini-faq". It appears twice
weekly in the group, but is not distributed in the digest.
For other requests pertaining to the digest, send mail to
perl-users-request@ruby.oce.orst.edu. Do not waste your time or mine
sending perl questions to the -request address, I don't have time to
answer them even if I did know the answer.
------------------------------
End of Perl-Users Digest V8 Issue 5592
**************************************