[16684] in Perl-Users-Digest
Perl-Users Digest, Issue: 4096 Volume: 9
daemon@ATHENA.MIT.EDU (Perl-Users Digest)
Tue Aug 22 14:15:44 2000
Date: Tue, 22 Aug 2000 11:15:29 -0700 (PDT)
From: Perl-Users Digest <Perl-Users-Request@ruby.OCE.ORST.EDU>
To: Perl-Users@ruby.OCE.ORST.EDU (Perl-Users Digest)
Message-Id: <966968129-v9-i4096@ruby.oce.orst.edu>
Content-Type: text
Perl-Users Digest Tue, 22 Aug 2000 Volume: 9 Number: 4096
Today's topics:
Re: sending mail with mailx (Villy Kruse)
Re: sending mail with mailx (Teodor Zlatanov)
Re: Sending things to mailx and lp (Teodor Zlatanov)
Re: Solved ! <-- WIN32:OLE and Excel: Printing cell for blavagna@my-deja.com
Re: Sorting nobull@mail.com
Re: subject with smtp.pm <russ_jones@rac.ray.com>
Re: Try "IniConf.pm" <-- Lotsa difiiculties - need help blavagna@my-deja.com
Re: Unexpected behavior of shift in a loop <mauldin@netstorm.net>
Re: Use of uninitialized value, but it's not uninitiali <steve.jones@takethisoutproact.net>
Re: Use of uninitialized value, but it's not uninitiali <lr@hpl.hp.com>
Using a LoL to store multiline records (Ryan Schram)
Re: Using a LoL to store multiline records (Clinton A. Pierce)
Re: Using a LoL to store multiline records nobull@mail.com
Re: Variable vanishing? (David Wall)
Re: We Need Your Feedback <russ_jones@rac.ray.com>
Re: would you recommend buying a book <timewarp@shentel.net>
Digest Administrivia (Last modified: 16 Sep 99) (Perl-Users-Digest Admin)
----------------------------------------------------------------------
Date: 22 Aug 2000 15:36:22 GMT
From: vek@pharmnl.ohout.pharmapartners.nl (Villy Kruse)
Subject: Re: sending mail with mailx
Message-Id: <slrn8q57fl.g31.vek@pharmnl.ohout.pharmapartners.nl>
On Tue, 22 Aug 2000 07:37:31 GMT,
jon_nixon@my-deja.com <jon_nixon@my-deja.com> wrote:
>The "-t" option takes care of the "sendmail-style stuff" - This approach
>works fine. The only thing stopping tequila's mail from being sent
>successfully is the missing pipe in "| /usr/bin/mailx -t". tequila wins
>:)
>
>I think the "~" tilde only escapes if your input is from a tty - but I
>may be wrong so I'd probably avoid mailx too.
>
I think quite a few versions of mailx does not support -t option.
I've never seen this as a supported option. IMHO mailx is more
obsolete than perl4, so call sendmail directly.
Villy
------------------------------
Date: 22 Aug 2000 12:30:28 -0500
From: tzz@iglou.com (Teodor Zlatanov)
Subject: Re: sending mail with mailx
Message-Id: <39a2aaa4_2@news.iglou.com>
<8ntajq$lo5$1@nnrp1.deja.com>:jon_nixon@my-deja.com:comp.lang.perl.misc:Tue, 22 Aug 2000 07:37:31 GMT:quote:
: The "-t" option takes care of the "sendmail-style stuff" - This approach
: works fine. The only thing stopping tequila's mail from being sent
: successfully is the missing pipe in "| /usr/bin/mailx -t". tequila wins
: :)
12:37 [onyx: /home/tzz] uname -a
Linux onyx.nimbus.northernlight.com 2.4.0-test4 #10 Wed Jul 19 18:01:07 EDT 2000 i686 unknown
12:37 [onyx: /home/tzz] ls -l /usr/bin/mailx
ls: /usr/bin/mailx: No such file or directory
12:37 [onyx: /home/tzz] which mailx
mailx: Command not found.
tequila loses as soon as someone tries to run his script on a system without
/usr/bin/mailx. Not a difficult thing to do.
--
Teodor Zlatanov <tzz@iglou.com>
"Brevis oratio penetrat colos, longa potatio evacuat ciphos." -Rabelais
------------------------------
Date: 22 Aug 2000 12:39:24 -0500
From: tzz@iglou.com (Teodor Zlatanov)
Subject: Re: Sending things to mailx and lp
Message-Id: <39a2acbc$1_2@news.iglou.com>
<%Zeo5.3639$SH3.56711@wagner.videotron.net>:Daniel Racine (nospam@mail.org):comp.lang.perl.misc:Mon, 21 Aug 2000 14:58:59 -0400:quote:
: I have a foo() function that prints things. I'd like to send the results
: by e-mail and print them also. What should i do ?
: 1)
: open the first pipe : "| mailx -s title my.friend"
: call the foo() function
: close the first pipe
: open the second pipe : "| lp -d myprinter"
: call the foo() function
: close the second pipe
: 3)
: any other idea that would be even better ? thanx for your help!
Use Net::Printer
http://theoryx5.uwinnipeg.ca/CPAN/data/Net-Printer/Printer.html
and MIME::Lite
http://theoryx5.uwinnipeg.ca/CPAN/data/MIME-Lite/MIME/Lite.html
(accessible from CPAN http://www.cpan.org)
--
Teodor Zlatanov <tzz@iglou.com>
"Brevis oratio penetrat colos, longa potatio evacuat ciphos." -Rabelais
------------------------------
Date: Tue, 22 Aug 2000 17:16:08 GMT
From: blavagna@my-deja.com
Subject: Re: Solved ! <-- WIN32:OLE and Excel: Printing cell formulas ?
Message-Id: <8nucg2$sk9$1@nnrp1.deja.com>
Thank you Bob !
Your suggestion works great !
This is valuable knowledge that will, once again, educate managers as
to the value of Perl. And hey, I did not have to (re)-learn Visual
Basic to do this task !
I had already tried your suggestion to "use the object browser", but I
quickly became lost. I had downloaded the OLE Object Browser from
Microsoft but ... damn, the whole system is objects (Dave, its ALL
STARS !) So obviously I know next to nothing about OLE ... oh well, I
may get to that on my 4th career :)
I intend to finish an example of working code, and post it here as well
at to "perlfaq-suggestions@perl.com"
See you later.
+++++++++++++++++++++++++++++++
In article <39A1FA8F.C4DD475E@rochester.rr.com>,
Bob Walton <bwalton@rochester.rr.com> wrote:
> [warning: mostly off-topic]
> blavagna@my-deja.com wrote:
> >
> > Can someone suggest an approach ? ? Thank you in advance :) :)
>
> Sure. Just use "Formula" instead of "Value" or "Text". Like:
>
> $formula=$worksheet->Range("A1")->Formula;
>
> for example.
>
> ...
> > (2) I'm unclear on the difference between the {'Value'} and
{'Text'}
> > attribute.
>
> The "Value" property generates a Variant (number in Perl) containing
the
> value of the cell (or an array of arrays if there is more than one
> cell). The "Text" property returns the formatted value (the exact
> characters you see in the spreadsheet cell) of a cell. It doesn't
work
> on selections of more than one cell. The "Formula" property returns
the
> formula text of a selection (scalar string if single cell; array of
> arrays if more than one cell -- isn't Excel wonderful?). Use Object
> Brower in Excel to look up this crap. And ask that stuff in an Excel
> newsgroup, rather than a Perl newsgroup.
> ...
> --
> Bob Walton
>
Sent via Deja.com http://www.deja.com/
Before you buy.
------------------------------
Date: 22 Aug 2000 17:43:27 +0100
From: nobull@mail.com
Subject: Re: Sorting
Message-Id: <u9ya1pjnhy.fsf@wcl-l.bham.ac.uk>
Antony <mcnultya@NOSPAMnortelnetworks.com> writes:
> i.e., I need the id's sorted in a way that is first sorted by a
> particular key, and further sorted by another particular key.
>
> Does this make sense ?
No, posting a question that is answered in the FAQ does not make sense.
Please see the FAQ entry "How do I sort an array by (anything)?"
Pay particular attension to the bit where it says "If you need to sort
on several fields..."
--
\\ ( )
. _\\__[oo
.__/ \\ /\@
. l___\\
# ll l\\
###LL LL\\
------------------------------
Date: Tue, 22 Aug 2000 10:19:32 -0500
From: Russ Jones <russ_jones@rac.ray.com>
Subject: Re: subject with smtp.pm
Message-Id: <39A29A04.67CF1241@rac.ray.com>
Iesu but I wish people had talked to each other when they came up with
the names for SNMP and SMTP!
--
Russ Jones - HP OpenView IT/Operatons support
Raytheon Aircraft Company, Wichita KS
russ_jones@rac.ray.com 316-676-0747
Quae narravi, nullo modo negabo. - Catullus
------------------------------
Date: Tue, 22 Aug 2000 17:29:25 GMT
From: blavagna@my-deja.com
Subject: Re: Try "IniConf.pm" <-- Lotsa difiiculties - need help with my Perl !!
Message-Id: <8nud8n$tmo$1@nnrp1.deja.com>
Hi,
Your problem resembles the problem of parsing an "Microsoft Style .ini
file".
Several years ago I tried "IniConf.pm" and it worked well.
Try these modules from CPAN (I've only used one).
http://www.perl.com/CPAN/authors/id/SHUTTON/IniConf.pm-0.92.tar.gz
http://www.perl.com/CPAN/authors/id/A/AV/AVATAR/IniFile-1.01.zip
http://www.perl.com/CPAN/authors/id/MIKEH/minivend-4.02.tar.gz
IniConf.pm has and example that I did not find too hard.
Enjoy
+++++++++++++++++++++++
In article <8nuaov$qa8$1@nnrp1.deja.com>,
reg_exp@my-deja.com wrote:
> hi,
>
> i have a problem that i would like to solve using perl. i have a few
> questions, relating to how i can go about solving my problem, and also
> as to how i can actually implement a soltuib (i'm having some
> difficulties, which i'll explain).
>
> Problem:
> I have many 10-15 Mb files with a structure like :
>
> [IN_START]
> .
> .
> [IN_INDEX]
> .
> .
> [START]
> .
> .
> [IN_DATA]
> .
> .
> [IN_END]
> [IN_START]
> .
> [IN_DATA]
> .
> [IN_END]
> .
> .
> [IN_END]
> [IN_START]
> [START]
>
> The tag [START] is the one that actually breaks up the structure into
> records, with each record having multiple
> [IN_START]..[IN_DATA]..[IN_END] tags.
>
> What I need to do is:
> 1) First break up the file into many records with the lines between
two
> [START] tags making a record.
> 2) Within this record, extract only the lines between the [IN_DATA]
and
> [IN_END] and store these in arrays.
> 3) Process each array - within each array, I need to further break the
> array down into records seperated by a [NUGGET] tag.
>
> Difficulties & Questions:
>
> 1) Do I read the whole file into an array and process it ? This seems
> to be a slow way, since the file is huge.
>
> 2) If I do something like this, I get an error: (this was just a test
> script)
>
> open(F,$_) or die "Unable to open file : $!";
> $/="[START]";
> @file = <F>;
> close F;
> print $file[1];
> print "End of record\n";
> @nuggs = split $file[1], /\[NUGGET\]/;
> foreach (@nuggs) {
> print "Nugget Begin\n";
> print $_;
> print "Nugget End\n";
> }
> when i run this, i get the error :
> "regexp too big at splitter line 39."
>
> why do i get this error ??
>
> 3) is there any easy way of breaking up the whole file into "nuggets",
> since the file is so huge ?
>
> thanks is advance,
>
> any tips as to how to process huge files, and how i can do this "perl
> style" rather than "c style" (open file, read each line, process each
> line...) will be helpful,
>
> - reg_exp
>
> Sent via Deja.com http://www.deja.com/
> Before you buy.
>
Sent via Deja.com http://www.deja.com/
Before you buy.
------------------------------
Date: Tue, 22 Aug 2000 15:17:49 GMT
From: Jim Mauldin <mauldin@netstorm.net>
Subject: Re: Unexpected behavior of shift in a loop
Message-Id: <39A298E7.FA76C43A@netstorm.net>
Jeff HIll wrote:
>
> @items = split(/ /, $line);
> $list = join ';', $items[0],$items[1],$items[2],$items[3];
> shift @items;
> shift @items;
> shift @items;
> shift @items;
> $list .=";";
> # for ($i=0; $i==3; $i++) {
> # shift @items;
> # }
> $list .= join ' ', @items;
> print $list . "\n";
> }
>
> Ouput:
> Correct:
> f0;f1;f2;f3;f4 f5 f6 f7
Once you've got your line cleared of extra whitespace, you could replace
all that splitting, shifting, and joining by this
$line =~ s/ /;/ for (0..3);
-- Jim
------------------------------
Date: Mon, 21 Aug 2000 15:14:06 +0100
From: "Steve Jones" <steve.jones@takethisoutproact.net>
Subject: Re: Use of uninitialized value, but it's not uninitialized.
Message-Id: <39a139bf_1@nnrp1.news.uk.psi.net>
You wrote
> my $id; # Here the value is initialized, no?
No, this is just declaring the value - to initialise it, you have to assign
something to it, e.g
$id='INITIALVALUE';
The .= tries to append something to an uninitialised value, so you get an
error. Set $id to be an empty string.
$id = '';
--
stevej@getridofthisproact.net
"Gabe" <grichard@uci.edu> wrote in message
news:8nk8t0$473$1@news.service.uci.edu...
> I'm getting the following error:
>
> Use of uninitialized value at parsehtml.pl line 83.
>
> My code is:
> sub ID {
> my $id; # Here the value is initialized, no?
> unless (@_) {
> ID: {
> for (my $i; $i<10; $i++) {
> $id .= int(rand 9);
> }
> }
> }
> else {
> my $table = $_[0];
> my $idfield = $_[1];
> my $dbh = $_[2];
> my $getids = $dbh->prepare(qq{SELECT $idfield FROM $table});
> $getids->execute;
> ID: {
> for (my $i; $i<10; $i++) { #This is line 83
> $id .= int(rand 9);
> }
> while (my @row = $getids->fetchrow_array) {
> if (@row eq $id) { redo ID;}
> }
> }
> }
> return $id;
> }
>
>
>
------------------------------
Date: Tue, 22 Aug 2000 09:55:58 -0700
From: Larry Rosler <lr@hpl.hp.com>
Subject: Re: Use of uninitialized value, but it's not uninitialized.
Message-Id: <MPG.140c5077e6f83c8598acb9@nntp.hpl.hp.com>
In article <39a139bf_1@nnrp1.news.uk.psi.net> on Mon, 21 Aug 2000
15:14:06 +0100, Steve Jones <steve.jones@takethisoutproact.net> says...
> You wrote
>
> > my $id; # Here the value is initialized, no?
>
> No, this is just declaring the value - to initialise it, you have to assign
> something to it, e.g
>
> $id='INITIALVALUE';
>
> The .= tries to append something to an uninitialised value, so you get an
> error. Set $id to be an empty string.
> $id = '';
No, you don't get a warning, let alone an error. Did you try it before
posting?
<SNIP complete Jeopardy posting, which should be enough of a clue as to
the quality of the answer.>
--
(Just Another Larry) Rosler
Hewlett-Packard Laboratories
http://www.hpl.hp.com/personal/Larry_Rosler/
lr@hpl.hp.com
------------------------------
Date: 22 Aug 2000 15:36:57 GMT
From: schram@mail2.sas.upenn.edu (Ryan Schram)
Subject: Using a LoL to store multiline records
Message-Id: <8nu6mp$169$1@netnews.upenn.edu>
Hello,
I have a rudimentary question.
If I set the $/="-30-"
And I do the following:
open(MYFILE, "/files/file.txt");
while (<MYFILE>) {
push @matrix, [ split /\n/, $_ ];
}
close MYFILE;
for ($i=0; $i < 3; $i++) {
for ($j=0; $j < 3; $j++) {
print "${$matrix[$i]}[$j]\n";
}
}
(Oh and the .txt file to be opened is formatted like so:
1:Field_1.1
2:Field_1.2
3:Field_1.3
4:-30-
5:Field_2.1
6:Field_2.2
7:Field_2.3
8:-30-
9: ... And so on ...
[The line numbers are added for clarity; They aren't actually in the file.])
This is what the script return:
Field_1.1
Field_1.2
Field_1.3
Field_2.1
Field_2.2
Field_3.1
Field_3.2
And so on... The first record displays three fields. The following
records return an undefined value or empty string or something for the
first field, and then display the first in the position where the second
should be.
(You can say whatever you want about the code, if you feel my question is
inappropriate to the situation. I would like to go on record as knowing
that this isn't the "best" way to perform the above.)
Thanks,
Ryan
------------------------------
Date: Tue, 22 Aug 2000 16:31:10 GMT
From: clintp@geeksalad.org (Clinton A. Pierce)
Subject: Re: Using a LoL to store multiline records
Message-Id: <iVxo5.8203$QW4.119494@news1.rdc1.mi.home.com>
[Posted and mailed]
In article <8nu6mp$169$1@netnews.upenn.edu>,
schram@mail2.sas.upenn.edu (Ryan Schram) writes:
> Hello,
>
> I have a rudimentary question.
>
> If I set the $/="-30-"
> [...]
> push @matrix, [ split /\n/, $_ ];
> [...]
> 3:Field_1.3
> 4:-30-
> 5:Field_2.1
> 6:Field_2.2
> 7:Field_2.3
> 8:-30-
> 9: ... And so on ...
>
> [...]
>
> And so on... The first record displays three fields. The following
> records return an undefined value or empty string or something for the
> first field, and then display the first in the position where the second
> should be.
Yes. That's correct. Did you actually have a question?
If you're concerned about the first field being empty on subsequent
records (after the first) it's because "-30-" is followed by a newline.
So you're splitting:
\nF1\nF2\nF3\n
And so on. Maybe it would be better to set $/ to "-30-\n" instead. Depends
on your data I guess.
--
Clinton A. Pierce Teach Yourself Perl in 24 Hours!
clintp@geeksalad.org for details see http://www.geeksalad.org
"If you rush a Miracle Man,
you get rotten Miracles." --Miracle Max, The Princess Bride
------------------------------
Date: 22 Aug 2000 17:45:19 +0100
From: nobull@mail.com
Subject: Re: Using a LoL to store multiline records
Message-Id: <u9vgwtjlcw.fsf@wcl-l.bham.ac.uk>
schram@mail2.sas.upenn.edu (Ryan Schram) writes:
> Hello,
Oh dear.
> I have a rudimentary question.
Could you ask it in Perl please? No, seriously, if possible rearrange
your question so that as much as possible is actually presented in
(strict) Perl that we can cut out and run for outselves. It is no
more effort for you and leaves no possibility for misinterpretation.
As it happens in this case it wouldn't help - but you couldn't have
known that.
#!/usr/bin/perl -w
use strict;
$/="-30-";
my @matrix;
while (<DATA>) {
push @matrix, [ split /\n/, $_ ];
}
for (my $i=0; $i < 3; $i++) {
for (my $j=0; $j < 3; $j++) {
print "${$matrix[$i]}[$j]\n";
}
}
__DATA__
Field_1.1
Field_1.2
Field_1.3
-30-
Field_2.1
Field_2.2
Field_2.3
-30-
Field_3.1
Field_3.2
Field_3.3
__END__
See, that wouldn't have been too painfull would it?
And now... the answer to your problem: you should to change $/ to
equal to the string that you are actually using to delimit records in
the file.
$/="\n-30-\n";
--
\\ ( )
. _\\__[oo
.__/ \\ /\@
. l___\\
# ll l\\
###LL LL\\
------------------------------
Date: 22 Aug 2000 11:17:27 -0400
From: darkon@one.net (David Wall)
Subject: Re: Variable vanishing?
Message-Id: <8F98797BEdarkononenet@206.112.192.118>
kcivey@cpcug.org (Keith Calvert Ivey) wrote in
<39a77bf5.48027992@news.newsguy.com>:
>darkon@one.net (David Wall) wrote:
>>abe@ztreet.demon.nl (Abe Timmerman) wrote in
>>>I would declare those as strings:
>>>
>>> my $From_Date = '20000000000000';
>>> my $To_Date = '20000525135144';
>>
>>Just out of curiousity, why would you do that? Why does it matter?
>
>Try adding a few more digits and you'll see why quoting might be
>a good habit to get into for long numbers that are really being
>treated as strings:
>
> C:\>perl -le "print 2000052513514412"
> 2.00005251351441e+015
Yeah, I did something like that in my followup to Abe's response. Your
post hadn't made it to my server yet. But thanks anyway!
--
David Wall
darkon@one.net
------------------------------
Date: Tue, 22 Aug 2000 10:15:46 -0500
From: Russ Jones <russ_jones@rac.ray.com>
Subject: Re: We Need Your Feedback
Message-Id: <39A29922.3BADF56A@rac.ray.com>
Anno Siegel wrote:
>
> Oh, I know of a Professor of English who'd love toNO CARRIER
>
> Anno
Funny how line noise cut Anno off, then just randomly (1 million Annos
on 1 million modems?) added the "Anno" sig. The universe is a
funny<CONNECTION RESET BY PEER>
--
Russ Jones - HP OpenView IT/Operatons support
Raytheon Aircraft Company, Wichita KS
russ_jones@rac.ray.com 316-676-0747
Quae narravi, nullo modo negabo. - Catullus
------------------------------
Date: Tue, 22 Aug 2000 11:42:10 -0400
From: Albert Dewey <timewarp@shentel.net>
Subject: Re: would you recommend buying a book
Message-Id: <39A29F52.E0EB7784@shentel.net>
Me personally, I cannot own enough books. Books are my primary reference
source for anything that I do with a computer. They are my first line of
defense when faced with a problem that I need to solve, Perl or otherwise.
The more the merrier. If I cannot find the answer in one book, I look in
another. So far I have 9 Perl books and am always looking to get more. In
so far as other books for computer knowledge, if you took the ones I have
and placed them side by side, it would take a bookshelf 20' or more to
shelve them. But then again, this is me. Might not work for everyone.
Okay, I am a little obsessed but what can I say? Flame me, love me, ignore
me. Doesn't matter, it's my life and how I choose to do things.
Books aren't the only source I use. I also have gotten much useful info
from searching the internet for online tutorials and newsgroup postings.
Many useful answers can be had in this way. I will say this much, many,
many of the postings I read in the newsgroups could easily be answered if
the poster would only go out and buy a decent book or two on Perl,
especially if it is devoted to using Perl for CGI. A couple of titles I
can recommend are Elizabeth Castro's "Perl and CGI for the World Wide Web"
- $18.99 and Jacqueline D. Hamilton's "CGI Programming 101 - Perl for the
World Wide Web" - $24.95. While these books are thin, they are excellent
primers for the beginner programmer and are very well written in easy to
understand language. If every beginner poster had just these two books, I
guarantee 99% of those "newbie questions" would never get posted.
Just my 2¢ worth -
Albert Dewey
Lori Wasilewski wrote:
> try this free tutorial :
> http://www.netcat.co.uk/rob/perl/win32perltut.html
> if that doesn't help you get a book
>
> Jan Heidbrink wrote:
>
> > Hi!
> > I'm planning to learn pearl. I'll mainly use it for CGI.
> > Would you recommend to buy a book (if yes, where can I find an
> > overview about some) or do you think, a free tutorial is enough? I'd
> > prefer the last one as I don't have very much money. However, if you
> > think that I should buy a good book, I'd do that.
> >
> > BTW: I'm already familiar with Pascal and C++.
------------------------------
Date: 16 Sep 99 21:33:47 GMT (Last modified)
From: Perl-Users-Request@ruby.oce.orst.edu (Perl-Users-Digest Admin)
Subject: Digest Administrivia (Last modified: 16 Sep 99)
Message-Id: <null>
Administrivia:
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.
| NOTE: The mail to news gateway, and thus the ability to submit articles
| through this service to the newsgroup, has been removed. I do not have
| time to individually vet each article to make sure that someone isn't
| abusing the service, and I no longer have any desire to waste my time
| dealing with the campus admins when some fool complains to them about an
| article that has come through the gateway instead of complaining
| to the source.
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.
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 V9 Issue 4096
**************************************