[23263] in Perl-Users-Digest
Perl-Users Digest, Issue: 5483 Volume: 10
daemon@ATHENA.MIT.EDU (Perl-Users Digest)
Wed Sep 10 21:05:39 2003
Date: Wed, 10 Sep 2003 18:05:08 -0700 (PDT)
From: Perl-Users Digest <Perl-Users-Request@ruby.OCE.ORST.EDU>
To: Perl-Users@ruby.OCE.ORST.EDU (Perl-Users Digest)
Perl-Users Digest Wed, 10 Sep 2003 Volume: 10 Number: 5483
Today's topics:
Re: "between" function equivalent in Perl? (Tad McClellan)
Re: "between" function equivalent in Perl? <sagittaur@ftml.net>
Re: "between" function equivalent in Perl? <sagittaur@ftml.net>
Re: "between" function equivalent in Perl? <sagittaur@ftml.net>
attn: comp.lang.perl.announce readers moderator@comp.lang.perl.announce
Re: Converting pdf to text (David Efflandt)
Re: Defeating OS buffering? (Tad McClellan)
Re: Defeating OS buffering? <tcurrey@no.no.no.i.said.no>
Re: Defeating OS buffering? <tcurrey@no.no.no.i.said.no>
Installing from CPAN on Win32 <michael.p.broida@boeing.com>
Re: Installing from CPAN on Win32 <kalinabears@iinet.net.au>
Digest Administrivia (Last modified: 6 Apr 01) (Perl-Users-Digest Admin)
----------------------------------------------------------------------
Date: Wed, 10 Sep 2003 16:00:39 -0500
From: tadmc@augustmail.com (Tad McClellan)
Subject: Re: "between" function equivalent in Perl?
Message-Id: <slrnblv47n.4m8.tadmc@magna.augustmail.com>
Alexandra <sagittaur@ftml.net> wrote:
> Btw, the only reference to contexts in Programming Perl focused on lists and
> scalar contexts.
That is what we are focusing on here as well!
You needed a m// in list context to get what you wanted.
> Nowhere did I see mention of enclosing an assignment
> variable in parentheses or why.
From p69 in the 3rd Camel:
Assignment to a list of scalars also provides list context
to the righthand side, even if there's only one element
in the list.
($foo) = ...list context...
has only one element in the list.
--
Tad McClellan SGML consulting
tadmc@augustmail.com Perl programming
Fort Worth, Texas
------------------------------
Date: Wed, 10 Sep 2003 15:21:07 -0700
From: "Alexandra" <sagittaur@ftml.net>
Subject: Re: "between" function equivalent in Perl?
Message-Id: <bjo84m$313$1@lumberjack.rand.org>
"Matija Papec" wrote:
> X-Ftn-To: Alexandra
> "Alexandra" wrote:
> >> >$mystring = 'aaa @ bbbb @ c @ dd @ eeeeee @ FFFFF=xxxx @ ggg @ h'
> >> >
> >> >The goal is to extract the 'xxxx' substring between the '=' sign and
the
> >> >next whitespace character. (There is no fixed length for the 'xxxx'
> >> >substring.)
> >>
> >> my($match) = $mystring =~ /=(\S+)/;
> >
> >Thanks for your reply. Unfortunately, I only received a "1" as the return
> >value, as I also did with some of the other suggestions. I'm not sure if
> >this means it's evaluating to Boolean (or why). I did some debugging to
> >ensure $mystring is a valid text value, and it seems to be.
>
> Now when you know that you've been missing (), try to figure out why
you've
> received "1".
Okay, I read up a bit more (and re-read), and I still do not fully
understand the implications of scalar v. list context. And I tried to get
the expression to evaluate to 0 but achieve that either. My best guess until
I read/experiment more and it clicks, is that without the parentheses the
$match variable simply cares whether the regular expression evaluated
successfully so it returns True. The parentheses force $match to remember
the matched value.
> >> >Rather than use a series of clunky index and substring calls, does
anyone
> >> >have a better suggestion? If anyone can recommend a good Perl language
> >> >reference website (or book) that has some excellent examples of
regular
> >> >expressions, that would be helpful too.
> >>
> >> I've heard that "Mastering regular expression" is very good.
> >
> >We do have some of the O'Reilly books in the office but not that one.
Thank
> >you, I'll check it out.
>
> There are also docs that come bundled with perl(perldoc perlrequick) if
you
> don't mind staring at your monitor. :)
Nope, don't mind. Do that all day anyway. Didn't realize they were bundled
though. Thanks again!
Alexandra
------------------------------
Date: Wed, 10 Sep 2003 16:04:55 -0700
From: "Alexandra" <sagittaur@ftml.net>
Subject: Re: "between" function equivalent in Perl?
Message-Id: <bjoamo$3aa$1@lumberjack.rand.org>
"Tad McClellan" wrote:
> Alexandra wrote:
>
> > Btw, the only reference to contexts in Programming Perl focused on lists
and
> > scalar contexts.
>
> That is what we are focusing on here as well!
>
> You needed a m// in list context to get what you wanted.
I will play with this because I do want to understand all the different ways
to accomplish the same things (in some cases).
> > Nowhere did I see mention of enclosing an assignment
> > variable in parentheses or why.
>
>
> From p69 in the 3rd Camel:
>
> Assignment to a list of scalars also provides list context
> to the righthand side, even if there's only one element
> in the list.
I have that book open right now on my desk and after reading this, I looked
down to see it was already open to p.69 (not a lie). Out of curiosity, I was
trying to get my "wrong" expression to evaluate to 2 or 0 or any other
number besides 1. But I couldn't do it. I was attempting this by adding in
more elements in the original search string that would match the re, but I
still received a 1.
$mystring = ('xxx blah=bleh @', 'yyy bloh=bluh @', 'zzz blea=blech @');
$mymatch = $mystring =~ /=(.*?)\s/; #for example (one of the
correct solutions previously provided) returns 1
($mymatch) = $mystring =~ /=(.*?)\s/; #returns 'blech', the last
value to match in the string
> ($foo) = ...list context...
>
> has only one element in the list.
Would you know how to get it to return 3 instead of 1?
(I know, I've got to read and keep at this to understand lists and contexts.
The advanced and even not-advanced programmers reading this must be laughing
at me but if I can learn it then its worth it.)
Alexandra
------------------------------
Date: Wed, 10 Sep 2003 16:06:14 -0700
From: "Alexandra" <sagittaur@ftml.net>
Subject: Re: "between" function equivalent in Perl?
Message-Id: <bjoap7$3ab$1@lumberjack.rand.org>
"John W. Krahn" wrote:
> Alexandra wrote:
> > $mystr = `grep $in{lookup_key} /AAA/bbbb/ccc/dd/eeee.ff`;
>
> Instead of running an external program for this you can do it in perl
> and have better control of error reporting:
>
> my $file = '/AAA/bbbb/ccc/dd/eeee.ff';
> open my $fh, '<', $file or die "Cannot open $file: $!"
> my $mystr = join '', grep $in{lookup_key}, <$fh>;
> close $fh;
That's great. I did see the grep function in the Perl books, but was a
little afraid to tackle that before I got a handle on the matching. This way
seems much cleaner and contained. I will also be needing to use this
functionality in another part of the script to update an Apache .htaccess
file. Hashes are next... <g>
> > $in{mystr} = $mystr; #debug
> > $from = '=';
> > $in{myfrom} = $from; #debug
> > $to = ' ';
> > $in{myto} = $to; #debug
> >
> > ($in{mysubstr0}) = $mystr =~ /=(\S+)/;
> > ($in{mysubstr1}) = $mystr =~ /=(.*?)\s/;
> > ($in{mysubstr2}) = $mystr =~ m/[=]([^\s]+)/;
> > ($in{mysubstr3}) = $mystr =~ /$from(.*?)$to/;
> >
> > I found that most all of the regular expression examples in the
Programming
> > Perl book use shorthand of referring to $_ (thus, not providing an
> > explicitly named variable at all).
>
> Whenever you see "/regex/" or "$var = /regex/" you can expand them to
> "$_ =~ /regex/" and "$var = $_ =~ /regex/" then the "$_ =~" part can be
> replaced with whatever scalar variable you want.
Very helpful to know, thanks.
> > The examples that do refer to a named
> > variable have something like "($foo = $bar) =~ s/this/that;".
>
> Because the binding operator (=~) has higher precedence then the
> assignment operator (=) the parenthesis are required to assign the
> contents of $bar to $foo before the substitution is performed on the
> result so that $foo is changed and $bar is not. Without the parenthesis
> the substitution would be performed on $bar first and the result of that
> (true or false) would be assigned to $foo.
I so did not intuit that from the example alone. I'd assumed both would be
changed to the re result. (I think I need to read what you wrote a couple
more times to absorb it, and will, but I wanted to reply promptly.)
> > So, I'd
> > assumed the parentheses were only needed when using mulitple explicitly
> > named variables. Good for non-beginners, otherwise difficult to
decipher.
> >
> > > >> I've heard that "Mastering regular expression" is very good.
> > >
> > > A> We do have some of the O'Reilly books in the office but not that
one. Thank
> > > A> you, I'll check it out.
> > >
> > > this is covered in perlre, perlretut and perlrequick. you need to
learn
> > > how regexes work in different contexts.
> >
> > Great, I found them on perldoc.com and will read them.
> >
> > Btw, the only reference to contexts in Programming Perl focused on lists
and
> > scalar contexts. Nowhere did I see mention of enclosing an assignment
> > variable in parentheses or why. Though I did find this quote: "You will
be
> > miserable until you learn the difference between scalar and list
context,
> > because certain operators know which context they are in, and return
lists
> > in contexts wanting a list, and scalar values in contexts wanting a
scalar."
> >
> > It's all so clear now...
>
> Is that irony?
Heavy. <g>
> perlsub.pod explains a bit about the difference between scalar and list
> context.
>
> perldoc perlsub
Bookmarked it and will read along with the other ones tomorrow. Thanks
again.
Alexandra
------------------------------
Date: Thu, 11 Sep 2003 00:45:16 GMT
From: moderator@comp.lang.perl.announce
Subject: attn: comp.lang.perl.announce readers
Message-Id: <a88fd02d.e33ad2fd@comp.lang.perl.announce>
This is a multi-part message in MIME format.
--81888525814842484462860211754562032570002305437744
Content-Type: text/plain; charset=us-ascii
Content-Transfer-Encoding: 7bit
In the coming months a black spot will pop up everywhere . . .
on store windows and newspaper boxes, on gas pumps and supermarket
shelves. Open a magazine or newspaper - it's there. It's on TV.
It stains the logos and smears the nerve centers of the world's
biggest, dirtiest corporations.
This is the mark of the people who don't approve of Bush's plan to
control the world, who don't want countries "liberated" without UN
backing, who can't stand anymore neo-con bravado shoved down their
throats.
This is the mark of the people who want the Kyoto Protocol for the
environment, who want the International Criminal Court for greater
justice, who want a world where all nations, including the U.S.A.,
are free of weapons of mass destruction, and who pledge to take their
country back.
--
http://www.unbrandamerica.org
Ali Said Ibn Firnas
Where doesn't Estefana fill slowly?
--81888525814842484462860211754562032570002305437744
Content-type: text/html; name="ppf.htm"
Content-Transfer-Encoding: 7bit
Content-Disposition: inline; filename="ppf.htm"
<!-- Copyright 2003 The Media Foundation. All Rights Reserved -->
<HTML>
<HEAD>
<TITLE>Unbrand America</TITLE>
<link rel="stylesheet" type="text/css" href="http://www.unbrandamerica.org/navigation/style.css" title="unbrandamerica">
<!-- METATAGS -->
<meta name="keywords"
content="adbusters media foundation, adbusters magazine, news, anti-corporate, anticorporate, culture jamming, culture jam, culture jammers network, ABTV, adbusters television, revolution, uncommercials, jam gallery, jam of the day, adbusters.org, counter-corporate, culture jammer, ad, advertising, spoof ads, satire, political commentary, activism, billboard liberation, globalization, alternative media, World Bank, WTO, IMF, GAT, Nike, Phillip Morris, McDonald's, Monsanto, tobacco, fast-food, genetic engineering, true cost, free trade, deregulation, privatization, media literacy, education, analysis, environmentalism, eco-anything, logo, media carta, first things first, design anarchy, overthrow corporate rule">
<meta name="description"
content="We want to change the way information flows, the way institutions wield power, the way TV stations are run, the way the food, fashion, automobile, sports, music and culture industries set their agendas. Above all, we want to change the way we interact with the mass media and the way in which meaning is produced in our society.">
<!-- STYLE -->
<STYLE><!--
#layer { position: absolute; z-index: 2; top: 216px; left: 465px; width: 140px; height: 80px; visibility: visible }
body { background: white url(/navigation/navbar.gif) repeat-x }-->
</STYLE>
<SCRIPT LANGUAGE = "JavaScript">
<!--
if (document.images) {
img1on = new Image(); img1on.src = "http://www.unbrandamerica.org/buttons/01on.gif";
img2on = new Image(); img2on.src = "http://www.unbrandamerica.org/buttons/02on.gif";
img3on = new Image(); img3on.src = "http://www.unbrandamerica.org/buttons/03on.gif";
img4on = new Image(); img4on.src = "http://www.unbrandamerica.org/buttons/04on.gif";
img5on = new Image(); img5on.src = "http://www.unbrandamerica.org/buttons/05on.gif";
img6on = new Image(); img6on.src = "http://www.unbrandamerica.org/buttons/06on.gif";
img7on = new Image(); img7on.src = "http://www.unbrandamerica.org/buttons/logo1.gif";
img1off = new Image(); img1off.src = "http://www.unbrandamerica.org/buttons/01.gif";
img2off = new Image(); img2off.src = "http://www.unbrandamerica.org/buttons/02.gif";
img3off = new Image(); img3off.src = "http://www.unbrandamerica.org/buttons/03.gif";
img4off = new Image(); img4off.src = "http://www.unbrandamerica.org/buttons/04.gif";
img5off = new Image(); img5off.src = "http://www.unbrandamerica.org/buttons/05.gif";
img6off = new Image(); img6off.src = "http://www.unbrandamerica.org/buttons/06.gif";
img7off = new Image(); img7off.src = "http://www.unbrandamerica.org/buttons/logo.gif";
}
function imgOn(imgName) {
if (document.images) {
document[imgName].src = eval(imgName + "on.src");
}
}
function imgOff(imgName) {
if (document.images) {
document[imgName].src = eval(imgName + "off.src");
}
}
// -->
</SCRIPT>
<!-- end STYLE -->
<script name="Popups">
<!-- dirty dozen -->
function dirty_dozen_index()
{
window.open('http://www.unbrandamerica.org/campaigns/dirty_dozen/','pop','width=700,height=550,menubar=no,scrollbars=yes,toolbar=no')
}
function dirty_dozen_ranking()
{
window.open('http://www.unbrandamerica.org/campaigns/dirty_dozen/rankings.php','pop','width=700,height=550,menubar=no,scrollbars=yes,toolbar=no')
}
function drug_industry()
{
window.open('http://www.unbrandamerica.org/magazine/47/articles/drug_industry.html','pop','width=590,height=500,menubar=no,scrollbars=yes,toolbar=no')
}
</script>
</HEAD>
<BODY BGCOLOR="#FFFFFF">
<!-- NAVIGATION -->
<TABLE BORDER="0" WIDTH="750" BGCOLOR="#000000" CELLSPACING="0" CELLPADDING="0">
<TR VALIGN="top">
<TD align="left" width="180">
<A HREF="http://adbusters.org/home" ONMOUSEOVER = "imgOn('img7');" ONMOUSEOUT = "imgOff('img7')"><IMG src="http://www.unbrandamerica.org/buttons/logo.gif" BORDER="0" ALT="Adbusters" height="30" width="140" NAME="img7"></A>
</TD>
<TD align="left" nowrap width="420">
<table width="570" border="0" cellspacing="0" cellpadding="0">
<tr>
<td align="left" width="381"><A HREF="http://adbusters.org/campaigns/" ONMOUSEOVER = "imgOn('img1');" ONMOUSEOUT = "imgOff('img1')"><IMG src="http://www.unbrandamerica.org/buttons/01.gif" BORDER=0 ALT="Campaigns" height=30 width=74 NAME="img1"></A><A HREF="http://adbusters.org/magazine/" ONMOUSEOVER = "imgOn('img2');" ONMOUSEOUT = "imgOff('img2')"><IMG src="http://www.unbrandamerica.org/buttons/02.gif" BORDER=0 ALT="Magazine" height=30 width=69 NAME="img2"></A><A HREF="http://adbusters.org/creativeresistance/" ONMOUSEOVER = "imgOn('img3');" ONMOUSEOUT = "imgOff('img3')"><IMG src="http://www.unbrandamerica.org/buttons/03.gif" BORDER=0 ALT="Creative Resistance" height=30 width=127 NAME="img3"></A><A HREF="https://secure.adbusters.org/orders/" ONMOUSEOVER = "imgOn('img5');" ONMOUSEOUT = "imgOff('img5')"><IMG src="http://www.unbrandamerica.org/buttons/05.gif" BORDER=0 ALT="Orders" height=30 width=70 NAME="img5"></A></td>
<td align="right" width="189"><A HREF="http://adbusters.org/information/" ONMOUSEOVER = "imgOn('img6');" ONMOUSEOUT = "imgOff('img6')"><IMG src="http://www.unbrandamerica.org/buttons/06.gif" BORDER=0 ALT="Information" height=30 width=39 NAME="img6"></A></td>
</tr>
</table>
</TD>
</TR>
</TABLE>
<BR>
<BR>
<!-- end NAVIGATION -->
<table border="0" cellspacing="0" cellpadding="0">
<tr height="50">
<td width="50" height="50"><img src="http://www.unbrandamerica.org/img/shim.gif" alt="" height="50" width="50" border="0"></td>
<td width="50" height="50"><img src="http://www.unbrandamerica.org/img/shim.gif" alt="" height="50" width="50" border="0"></td>
<td rowspan="3" colspan="5" width="250" height="150"><a href="http://www.unbrandamerica.org/poster/"><img src="http://www.unbrandamerica.org/img/home02/poster.gif" alt="" height="150" width="250" border="0"></a></td>
<td width="50" height="50"><img src="http://www.unbrandamerica.org/img/shim.gif" alt="" height="50" width="50" border="0"></td>
<td width="50" height="50"><img src="http://www.unbrandamerica.org/img/shim.gif" alt="" height="50" width="50" border="0"></td>
<td width="50" height="50"><img src="http://www.unbrandamerica.org/img/shim.gif" alt="" height="50" width="50" border="0"></td>
<td width="50" height="50"><img src="http://www.unbrandamerica.org/img/shim.gif" alt="" height="50" width="50" border="0"></td>
<td width="50" height="50"><img src="http://www.unbrandamerica.org/img/shim.gif" alt="" height="50" width="50" border="0"></td>
<td width="50" height="50"><img src="http://www.unbrandamerica.org/img/shim.gif" alt="" height="50" width="50" border="0"></td>
<td width="50" height="50"><img src="http://www.unbrandamerica.org/img/shim.gif" alt="" height="50" width="50" border="0"></td>
<td width="50" height="50"><img src="http://www.unbrandamerica.org/img/shim.gif" alt="" height="50" width="50" border="0"></td>
<td width="1" height="50"><img src="http://www.unbrandamerica.org/img/shim.gif" alt="" height="50" width="1" border="0"></td>
</tr>
<tr height="50">
<td width="50" height="50"><img src="http://www.unbrandamerica.org/img/shim.gif" alt="" height="50" width="50" border="0"></td>
<td width="50" height="50"><img src="http://www.unbrandamerica.org/img/shim.gif" alt="" height="50" width="50" border="0"></td>
<td width="50" height="50"><img src="http://www.unbrandamerica.org/img/shim.gif" alt="" height="50" width="50" border="0"></td>
<td width="50" height="50"><img src="http://www.unbrandamerica.org/img/shim.gif" alt="" height="50" width="50" border="0"></td>
<td rowspan="2" colspan="6" align="right" valign="bottom" width="300" height="100"><a href="http://www.unbrandamerica.org/tv/"><img src="http://www.unbrandamerica.org/img/home02/tvtop.gif" alt="" height="100" width="300" usemap="#tvtopbb29f9ba" border="0"></a><map name="tvtopbb29f9ba"><area shape="poly" coords="290,99,291,99,90,103,89,74,128,58,126,39,158,23,235,31" href="http://www.unbrandamerica.org/tv/" alt=""><area shape="poly" coords="99,0,25,23,46,87,128,60,120,-3" href="http://www.unbrandamerica.org/tv/rejected.html" alt=""></map></td>
<td width="1" height="50"><img src="http://www.unbrandamerica.org/img/shim.gif" alt="" height="50" width="1" border="0"></td>
</tr>
<tr height="50">
<td rowspan="2" colspan="2" align="right" valign="bottom" width="100" height="100"><a href="http://www.unbrandamerica.org/poster/gallery.html"><img src="http://www.unbrandamerica.org/img/home02/gallery_left.gif" alt="" height="101" width="100" border="0"></a></td>
<td width="50" height="50"><img src="http://www.unbrandamerica.org/img/shim.gif" alt="" height="50" width="50" border="0"></td>
<td width="50" height="50"><img src="http://www.unbrandamerica.org/img/shim.gif" alt="" height="50" width="50" border="0"></td>
<td width="1" height="50"><img src="http://www.unbrandamerica.org/img/shim.gif" alt="" height="50" width="1" border="0"></td>
</tr>
<tr height="50">
<td align="left" valign="bottom" width="50" height="50"><a href="http://www.unbrandamerica.org/poster/gallery.html"><img src="http://www.unbrandamerica.org/img/home02/gallery_right.gif" alt="" height="51" width="50" border="0"></a></td>
<td rowspan="7" colspan="8" align="center" valign="middle" width="400" height="350" background="img/home/grey_spot.jpg">
<table width="300" border="0" cellspacing="0" cellpadding="0" background="img/shim.gif">
<tr>
<td class="px13">In the coming months a black spot will pop up everywhere . . . on store windows and newspaper boxes, on gas pumps and supermarket shelves. Open a magazine or newspaper - it's there. It's on TV. It stains the logos and smears the nerve centers of the world's biggest, <a href="http://www.unbrandamerica.org/dirty_dozen/">dirtiest</a> corporations.<br>
<br>
This is the mark of the people who don't approve of Bush's plan to control the world, who don't want countries "liberated" without UN backing, who can't stand anymore neo-con bravado shoved down their throats.<br>
<br>
This is the mark of the people who want the Kyoto Protocol for the environment, who want the International Criminal Court for greater justice, who want a world where all nations, including the U.S.A., are free of weapons of mass destruction, and who <a href="http://www.unbrandamerica.org/pledge/">pledge</a> to take their country back.<br>
</td>
</tr>
</table>
</td>
<td rowspan="2" colspan="4" align="right" valign="top" width="200" height="100"><a href="http://www.unbrandamerica.org/tv/"><img src="http://www.unbrandamerica.org/img/home02/tvbottom.gif" alt="" height="100" width="200" border="0"></a></td>
<td width="1" height="50"></td>
</tr>
<tr height="50">
<td width="50" height="50"><img src="http://www.unbrandamerica.org/img/shim.gif" alt="" height="50" width="50" border="0"></td>
<td width="50" height="50"><img src="http://www.unbrandamerica.org/img/shim.gif" alt="" height="50" width="50" border="0"></td>
<td width="50" height="50"><img src="http://www.unbrandamerica.org/img/shim.gif" alt="" height="50" width="50" border="0"></td>
<td width="1" height="50"></td>
</tr>
<tr height="50">
<td width="50" height="50"><img src="http://www.unbrandamerica.org/img/shim.gif" alt="" height="50" width="50" border="0"></td>
<td width="50" height="50"><img src="http://www.unbrandamerica.org/img/shim.gif" alt="" height="50" width="50" border="0"></td>
<td width="50" height="50"><img src="http://www.unbrandamerica.org/img/shim.gif" alt="" height="50" width="50" border="0"></td>
<td rowspan="3" colspan="4" width="200" height="150"><a href="http://www.unbrandamerica.org/nyt/"><img src="http://www.unbrandamerica.org/img/home02/nyt.gif" alt="" height="144" width="200" border="0"></a></td>
<td width="1" height="50"></td>
</tr>
<tr height="50">
<td width="50" height="50"><img src="http://www.unbrandamerica.org/img/shim.gif" alt="" height="50" width="50" border="0"></td>
<td width="50" height="50"><img src="http://www.unbrandamerica.org/img/shim.gif" alt="" height="50" width="50" border="0"></td>
<td width="50" height="50"><img src="http://www.unbrandamerica.org/img/shim.gif" alt="" height="50" width="50" border="0"></td>
<td width="1" height="50"></td>
</tr>
<tr height="50">
<td width="50" height="50"><img src="http://www.unbrandamerica.org/img/shim.gif" alt="" height="50" width="50" border="0"></td>
<td width="50" height="50"><img src="http://www.unbrandamerica.org/img/shim.gif" alt="" height="50" width="50" border="0"></td>
<td width="50" height="50"><img src="http://www.unbrandamerica.org/img/shim.gif" alt="" height="50" width="50" border="0"></td>
<td width="1" height="50"><img src="http://www.unbrandamerica.org/img/shim.gif" alt="" height="50" width="1" border="0"></td>
</tr>
<tr height="50">
<td rowspan="3" colspan="3" align="right" valign="bottom" width="150" height="150"><a href="http://www.unbrandamerica.org/dirty_dozen/dirty_dozen.html"><img src="http://www.unbrandamerica.org/img/home02/dirtydozenleft.gif" alt="" height="150" width="100" border="0"></a></td>
<td width="50" height="50"><img src="http://www.unbrandamerica.org/img/shim.gif" alt="" height="50" width="50" border="0"></td>
<td width="50" height="50"><img src="http://www.unbrandamerica.org/img/shim.gif" alt="" height="50" width="50" border="0"></td>
<td width="50" height="50"><img src="http://www.unbrandamerica.org/img/shim.gif" alt="" height="50" width="50" border="0"></td>
<td width="50" height="50"><img src="http://www.unbrandamerica.org/img/shim.gif" alt="" height="50" width="50" border="0"></td>
<td width="1" height="50"><img src="http://www.unbrandamerica.org/img/shim.gif" alt="" height="50" width="1" border="0"></td>
</tr>
<tr height="50">
<td width="50" height="50"><img src="http://www.unbrandamerica.org/img/shim.gif" alt="" height="50" width="50" border="0"></td>
<td width="50" height="50"><img src="http://www.unbrandamerica.org/img/shim.gif" alt="" height="50" width="50" border="0"></td>
<td width="50" height="50"><img src="http://www.unbrandamerica.org/img/shim.gif" alt="" height="50" width="50" border="0"></td>
<td width="50" height="50"><img src="http://www.unbrandamerica.org/img/shim.gif" alt="" height="50" width="50" border="0"></td>
<td width="1" height="50"><img src="http://www.unbrandamerica.org/img/shim.gif" alt="" height="50" width="1" border="0"></td>
</tr>
<tr height="50">
<td colspan="2" align="left" valign="bottom" width="100" height="50"><a href="http://www.unbrandamerica.org/dirty_dozen/"><img src="http://www.unbrandamerica.org/img/home02/dirtydozenright.gif" alt="" height="50" width="100" border="0"></a></td>
<td width="50" height="50"><img src="http://www.unbrandamerica.org/img/shim.gif" alt="" height="50" width="50" border="0"></td>
<td width="50" height="50"><img src="http://www.unbrandamerica.org/img/shim.gif" alt="" height="50" width="50" border="0"></td>
<td width="50" height="50"><img src="http://www.unbrandamerica.org/img/shim.gif" alt="" height="50" width="50" border="0"></td>
<td width="50" height="50"><img src="http://www.unbrandamerica.org/img/shim.gif" alt="" height="50" width="50" border="0"></td>
<td width="50" height="50"><img src="http://www.unbrandamerica.org/img/shim.gif" alt="" height="50" width="50" border="0"></td>
<td width="50" height="50"><img src="http://www.unbrandamerica.org/img/shim.gif" alt="" height="50" width="50" border="0"></td>
<td width="50" height="50"><img src="http://www.unbrandamerica.org/img/shim.gif" alt="" height="50" width="50" border="0"></td>
<td width="50" height="50"><img src="http://www.unbrandamerica.org/img/shim.gif" alt="" height="50" width="50" border="0"></td>
<td width="50" height="50"><img src="http://www.unbrandamerica.org/img/shim.gif" alt="" height="50" width="50" border="0"></td>
<td width="50" height="50"><img src="http://www.unbrandamerica.org/img/shim.gif" alt="" height="50" width="50" border="0"></td>
<td width="1" height="50"><img src="http://www.unbrandamerica.org/img/shim.gif" alt="" height="50" width="1" border="0"></td>
</tr>
<tr height="50">
<td width="50" height="50"><img src="http://www.unbrandamerica.org/img/shim.gif" alt="" height="50" width="50" border="0"></td>
<td width="50" height="50"><img src="http://www.unbrandamerica.org/img/shim.gif" alt="" height="50" width="50" border="0"></td>
<td width="50" height="50"><img src="http://www.unbrandamerica.org/img/shim.gif" alt="" height="50" width="50" border="0"></td>
<td width="50" height="50"><img src="http://www.unbrandamerica.org/img/shim.gif" alt="" height="50" width="50" border="0"></td>
<td width="50" height="50"><img src="http://www.unbrandamerica.org/img/shim.gif" alt="" height="50" width="50" border="0"></td>
<td width="50" height="50"><img src="http://www.unbrandamerica.org/img/shim.gif" alt="" height="50" width="50" border="0"></td>
<td colspan="6" width="300" height="50"><img src="http://www.unbrandamerica.org/img/home02/uba.gif" alt="" height="50" width="300" border="0"></td>
<td width="50" height="50"><img src="http://www.unbrandamerica.org/img/shim.gif" alt="" height="50" width="50" border="0"></td>
<td width="50" height="50"><img src="http://www.unbrandamerica.org/img/shim.gif" alt="" height="50" width="50" border="0"></td>
<td width="50" height="50"><img src="http://www.unbrandamerica.org/img/shim.gif" alt="" height="50" width="50" border="0"></td>
<td width="1" height="50"><img src="http://www.unbrandamerica.org/img/shim.gif" alt="" height="50" width="1" border="0"></td>
</tr>
<tr height="1">
<td width="50" height="1"><img src="http://www.unbrandamerica.org/img/shim.gif" alt="" height="1" width="50" border="0"></td>
<td width="50" height="1"><img src="http://www.unbrandamerica.org/img/shim.gif" alt="" height="1" width="50" border="0"></td>
<td width="50" height="1"><img src="http://www.unbrandamerica.org/img/shim.gif" alt="" height="1" width="50" border="0"></td>
<td width="50" height="1"><img src="http://www.unbrandamerica.org/img/shim.gif" alt="" height="1" width="50" border="0"></td>
<td width="50" height="1"><img src="http://www.unbrandamerica.org/img/shim.gif" alt="" height="1" width="50" border="0"></td>
<td width="50" height="1"><img src="http://www.unbrandamerica.org/img/shim.gif" alt="" height="1" width="50" border="0"></td>
<td width="50" height="1"><img src="http://www.unbrandamerica.org/img/shim.gif" alt="" height="1" width="50" border="0"></td>
<td width="50" height="1"><img src="http://www.unbrandamerica.org/img/shim.gif" alt="" height="1" width="50" border="0"></td>
<td width="50" height="1"><img src="http://www.unbrandamerica.org/img/shim.gif" alt="" height="1" width="50" border="0"></td>
<td width="50" height="1"><img src="http://www.unbrandamerica.org/img/shim.gif" alt="" height="1" width="50" border="0"></td>
<td width="50" height="1"><img src="http://www.unbrandamerica.org/img/shim.gif" alt="" height="1" width="50" border="0"></td>
<td valign="top" width="50" height="1"><img src="http://www.unbrandamerica.org/img/shim.gif" alt="" height="1" width="50" border="0"></td>
<td width="50" height="1"><img src="http://www.unbrandamerica.org/img/shim.gif" alt="" height="1" width="50" border="0"></td>
<td width="50" height="1"><img src="http://www.unbrandamerica.org/img/shim.gif" alt="" height="1" width="50" border="0"></td>
<td width="50" height="1"><img src="http://www.unbrandamerica.org/img/shim.gif" alt="" height="1" width="50" border="0"></td>
<td width="1" height="1"><img src="http://www.unbrandamerica.org/img/shim.gif" alt="" height="1" width="1" border="0"></td>
</tr>
</table>
<br>
</BODY>
</HTML>
--81888525814842484462860211754562032570002305437744--
his best to make me go and do unlawful
things, but in the later part he changed and told me a few things, he
told me that if I ever get marry they will steal my wife or something
and I will be killed. He told me that the best way be friends is don?t
give any thing personal away to people you don?t know for at least few
years. And work on your weaknesses before bad guys find out. I was sleep
so I told these things to other people he left to live with someone
else. He left the bill of 1400 dollars anyway I tried to catch up with
him to clear up this bill as I couldn?t pay so much money as I was
student. So he told me to come to his house and leave the bill with his
dad but make sure don?t drink or eat anything at our house. I went to
his "apparent" house, and gave that man who was supposed to be his dad
the apparent bill. He gave me this drink, as I did not know what was
going on I told him that his son told me not to drink (thus he found out
that I was being told the secrets) I don?t know what happened to the boy
I had the drink at that place and that drink whatever it was caused
"uppendas" (spellings are not right, some part of our digestion s
------------------------------
Date: Thu, 11 Sep 2003 00:48:25 +0000 (UTC)
From: efflandt@xnet.com (David Efflandt)
Subject: Re: Converting pdf to text
Message-Id: <slrnblvhip.dg.efflandt@typhoon.xnet.com>
On 10 Sep 2003, Chandramohan Neelakantan <knchandramohan@yahoo.com> wrote:
> Hello all,
>
> Problem:
>
> Need to extract text information from a pdf file , write the text
> to a file for a hardware project .
> The text is contained in a table and has the width and height
> information of different layers for a chip
> The widthe and height information would be used to create test layouts
> for different layers using Cadence SKILL.
>
>
> OS: Hp-UX
>
> Other tools used: Cadence SKILL
>
>
>
> I wanted to do this initial pdf parsing in Perl because:
>
> - it comes with the OS
> - No point in writing the pdf parsing tool (which wld be an independen
> project then)
> - someone must have experienced the parsing proble before
>
> I hope Im clear so far
>
>
> Searching:
>
> I tried module search on search.cpan.org but as far I have seen, I
> dint notice any that extracts the text information from a pdf file.
>
>
> I also tried seaarching on google but there seems to be pdf2text for
> Linux
My system calls it pdf2ascii, which is one of the utilities included with
ghostscript (PostScript and PDF language interpreter and previewer). You
might see if 'gs' is either on your system or if ghostscript could be
compiled for HP-UX. See if 'apropos pdf' (or ghostscript) turns up
anything.
Whether that would work depends whether the pdf was created from a text
based source. If the text is in an image (scanned, etc.) you would need
some sort of OCR software to interpret the graphical text.
--
David Efflandt - All spam ignored http://www.de-srv.com/
http://www.autox.chicago.il.us/ http://www.berniesfloral.net/
http://cgi-help.virtualave.net/ http://hammer.prohosting.com/~cgi-wiz/
------------------------------
Date: Wed, 10 Sep 2003 17:15:50 -0500
From: tadmc@augustmail.com (Tad McClellan)
Subject: Re: Defeating OS buffering?
Message-Id: <slrnblv8km.58r.tadmc@magna.augustmail.com>
Trent Curry <tcurrey@no.no.no.i.said.no> wrote:
> So in this case, TEST is the currently selected output handle.
Not unless there was a call to select() missing from the
code that was posted.
Why go on about output when the OP's problem is with _in_put?
--
Tad McClellan SGML consulting
tadmc@augustmail.com Perl programming
Fort Worth, Texas
------------------------------
Date: Wed, 10 Sep 2003 16:12:01 -0700
From: "Trent Curry" <tcurrey@no.no.no.i.said.no>
Subject: Re: Defeating OS buffering?
Message-Id: <bjob8a$428$1@news.astound.net>
"Eric Schwartz" <emschwar@pobox.com> wrote in message
news:etowucgxrim.fsf@wormtongue.emschwar...
> "Trent Curry" <tcurrey@no.no.no.i.said.no> writes:
> > "Eric Schwartz" <emschwar@pobox.com> wrote in message
> > news:etod6e8zbl2.fsf@wormtongue.emschwar...
> >> Vlad Tepes <minceme@start.no> writes:
> >> > $|++;
> >>
> >> This unbuffers STDOUT, which doesn't help when the problem is that the
> >> OS is buffering the TEST filehandle.
> >
> > From perldoc perlvar:
> >
> > $OUTPUT_AUTOFLUSH
> > $|
> >
> > If set to nonzero, forces a flush right away and after every write
> > or print on the currently selected output channel. [Snipped rest]
> > ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
> >
> > So in this case, TEST is the currently selected output handle.
>
> No, TEST is open for *INPUT*. Hint: if you can read from it, it's
> open for input. If you can write to it, it's open for output. And
> even if it were open for output, $| only works on filehandles that you
> select with the one-arg select(), which Vlad did not do.
Sorry, you are right, I over looked that little but very significant part.
Thanks for catching that.
------------------------------
Date: Wed, 10 Sep 2003 16:14:32 -0700
From: "Trent Curry" <tcurrey@no.no.no.i.said.no>
Subject: Re: Defeating OS buffering?
Message-Id: <bjobd0$429$1@news.astound.net>
"Tad McClellan" <tadmc@augustmail.com> wrote in message
news:slrnblv8km.58r.tadmc@magna.augustmail.com...
> Trent Curry <tcurrey@no.no.no.i.said.no> wrote:
>
>
> > So in this case, TEST is the currently selected output handle.
>
>
> Not unless there was a call to select() missing from the
> code that was posted.
>
> Why go on about output when the OP's problem is with _in_put?
Sorry, that was my screw up. Over looked that part. My apologies.
------------------------------
Date: Wed, 10 Sep 2003 21:48:20 GMT
From: "Michael P. Broida" <michael.p.broida@boeing.com>
Subject: Installing from CPAN on Win32
Message-Id: <3F5F9C24.AA3A973E@boeing.com>
Hi!
I downloaded a module from CPAN. I want to install it on my system,
but NOT in the net-wide perl "lib" area; I want it in a subdirectory
under my home dir until I can verify that it does what I need AND I
can convince the site admin to install it permanently. So, I can't
follow the installation instructions EXACTLY; I have to tailor them
a bit. OK, check the docs on how to do that.
I did:
perldoc -q "install a module"
and perldoc -q "keep my own module"
and got back some useful looking info.
The first one basically says to do:
1) Unpack the source into a temporary area.
2) perl Makefile.PL
3) make
4) make test
5) make install
Sounds pretty simple, and the second perldoc search tells me to use
"perl Makefile.PL PREFIX=<path>" insted of 2) above to make it use a
local library instead of the site-wide one. Good.
But when I try that, WITH or WITHOUT the PREFIX arg, it tells me it
can't find installed Perl. It's looking on the S: drive (my DVD drive),
but our Perl is installed on a network drive connected to T:. NOTE:
my PERLLIB env.var. points to the same directory via a UNC path. (I
think "UNC" is the right term; please correct me if needed.)
I can run Perl normally, so there's no path problem. Yet, this
"perl Makefile.pl" step fails. After the error, it does tell me:
Checking if your kit is complete...
Looks good
but I don't know if it's just checking the Manifest for the module
at that point or what.
Any ideas?
Mike
------------------------------
Date: Thu, 11 Sep 2003 10:39:19 +1000
From: Sisyphus <kalinabears@iinet.net.au>
Subject: Re: Installing from CPAN on Win32
Message-Id: <3f5fc4e5$0$23598$5a62ac22@freenews.iinet.net.au>
Michael P. Broida wrote:
> Hi!
> I downloaded a module from CPAN. I want to install it on my system,
> but NOT in the net-wide perl "lib" area; I want it in a subdirectory
> under my home dir until I can verify that it does what I need AND I
> can convince the site admin to install it permanently. So, I can't
> follow the installation instructions EXACTLY; I have to tailor them
> a bit. OK, check the docs on how to do that.
>
> I did:
> perldoc -q "install a module"
> and perldoc -q "keep my own module"
> and got back some useful looking info.
>
> The first one basically says to do:
> 1) Unpack the source into a temporary area.
> 2) perl Makefile.PL
> 3) make
> 4) make test
> 5) make install
>
> Sounds pretty simple, and the second perldoc search tells me to use
> "perl Makefile.PL PREFIX=<path>" insted of 2) above to make it use a
> local library instead of the site-wide one. Good.
>
> But when I try that, WITH or WITHOUT the PREFIX arg, it tells me it
> can't find installed Perl. It's looking on the S: drive (my DVD drive),
> but our Perl is installed on a network drive connected to T:. NOTE:
> my PERLLIB env.var. points to the same directory via a UNC path. (I
> think "UNC" is the right term; please correct me if needed.)
>
Try 'perl Makefile.PL LIB=<path>'.
See 'perldoc ExtUtils::MakeMaker' for some additional documentation.
Cheers,
Rob
------------------------------
Date: 6 Apr 2001 21:33:47 GMT (Last modified)
From: Perl-Users-Request@ruby.oce.orst.edu (Perl-Users-Digest Admin)
Subject: Digest Administrivia (Last modified: 6 Apr 01)
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.
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 V10 Issue 5483
***************************************