[30002] in Perl-Users-Digest

home help back first fref pref prev next nref lref last post

Perl-Users Digest, Issue: 1245 Volume: 11

daemon@ATHENA.MIT.EDU (Perl-Users Digest)
Thu Jan 31 11:09:47 2008

Date: Thu, 31 Jan 2008 08:09:08 -0800 (PST)
From: Perl-Users Digest <Perl-Users-Request@ruby.OCE.ORST.EDU>
To: Perl-Users@ruby.OCE.ORST.EDU (Perl-Users Digest)

Perl-Users Digest           Thu, 31 Jan 2008     Volume: 11 Number: 1245

Today's topics:
    Re: "negative" regexp <mgjv@tradingpost.com.au>
    Re: "negative" regexp <tadmc@seesig.invalid>
    Re: "negative" regexp <stoupa@practisoft.cz>
    Re: "negative" regexp <stoupa@practisoft.cz>
    Re: "negative" regexp <bik.mido@tiscalinet.it>
        ***************************************** kandan24@gmail.com
    Re: Can't get PAR packager to run pp <tony@abc.edu>
    Re: Can't get PAR packager to run pp <tony@abc.edu>
        Easiest Way For Making Money <jeya.jpl62@gmail.com>
        how to remove blocks between nested brackets <silicium_at_h@rmony-p.ath.cx>
    Re: how to remove blocks between nested brackets <someone@example.com>
    Re: How would I create a Regular Expression to check (David Combs)
    Re: How would I create a Regular Expression to check (David Combs)
    Re: How would I create a Regular Expression to check <noreply@gunnar.cc>
    Re: Magic for object constructor wanted <koszalekopalek@interia.pl>
    Re: Magic for object constructor wanted <bugbear@trim_papermule.co.uk_trim>
    Re: Magic for object constructor wanted <Peter@PSDT.com>
    Re: perl problem <bik.mido@tiscalinet.it>
        Digest Administrivia (Last modified: 6 Apr 01) (Perl-Users-Digest Admin)

----------------------------------------------------------------------

Date: Thu, 31 Jan 2008 21:44:39 +1100
From: Martien Verbruggen <mgjv@tradingpost.com.au>
Subject: Re: "negative" regexp
Message-Id: <slrnfq39kn.re9.mgjv@martien.heliotrope.home>

On Thu, 31 Jan 2008 01:54:11 +0100,
	Petr Vileta <stoupa@practisoft.cz> wrote:
> Michele Dondi wrote:
>> On Wed, 30 Jan 2008 16:10:15 +0100, "Petr Vileta"
>> <stoupa@practisoft.cz> wrote:
>>
>>> I'm tending to not use HTMP parsers because these construct a huge
>>> hashes and this is usually not needed for my purposes.
>>
>> Huh?!? Evidence?
>>
>>
> Example for convert any basic html page to plain text.
>
> # remove all except body content
> $html=~s/^.+?<body.*?>(.+?)<\/body>.*$/$1/si;
> # remove all scripts
> $html=~s/<script.+?<\/script>//sig;
> # remove all images
> $html=~s/<img\s+.+?>//sig;
> # remove all html coments
> $html=~s/<\!\-\-.+?\-\->//sig;
> # replace possible table end-of-row or <br> with new line
> $html=~s/(<\/tr>|<br>)/\n/sig;
> # remove all remaining html tags
>
> $html=~s/<.+?>//sg;
>
> Now I have plain text.

No, you don't. At least, you probably do, but that's only because HTML
files are plain text to start off with. What you do not have is a file
completely cleared of HTML markup. And you also possibly have removed bits
of text that you meant to leave in place.

>                        Yes, this way is not ideal but is quickly and consumpt 
> low memory.

If by "not ideal" you mean incorrect, you're right.

You really need a HTML parser to do this correctly, and it's simply not
as trivial as you seem to think to roll one yourself.

You still haven't given any evidence for your statement that HTML
parsers construct huge hashes. I don't believe they necessarily, or
ever, do. Even if that was simply a clumsy attempt to make a more
general statement about why an HTML parser isn't going to work for you,
I'd still like to hear some clarification. What is the high performance
task that you need to perfomr on your memory starved machine that
doesn't allow a HTML parser?

Martien
-- 
                        | 
Martien Verbruggen      | The Second Law of Thermodenial: In any closed
                        | mind the quantity of ignorance remains
                        | constant or increases.


------------------------------

Date: Thu, 31 Jan 2008 12:01:06 GMT
From: Tad J McClellan <tadmc@seesig.invalid>
Subject: Re: "negative" regexp
Message-Id: <slrnfq3dma.5vn.tadmc@tadmc30.sbcglobal.net>

Petr Vileta <stoupa@practisoft.cz> wrote:


> $html=~s/<\!\-\-.+?\-\->//sig;


Unnecessary backslashes make your code much harder to read
and understand. You should backslash only when you actually
need to.

There is not much point in ignoring case when your pattern
does not contain any letters...


   $html =~ s/<!--.+?-->//sg;


-- 
Tad McClellan
email: perl -le "print scalar reverse qq/moc.noitatibaher\100cmdat/"


------------------------------

Date: Thu, 31 Jan 2008 15:05:35 +0100
From: "Petr Vileta" <stoupa@practisoft.cz>
Subject: Re: "negative" regexp
Message-Id: <fnskn8$hp7$2@ns.felk.cvut.cz>

Martien Verbruggen wrote:
> On Thu, 31 Jan 2008 01:54:11 +0100,
> Petr Vileta <stoupa@practisoft.cz> wrote:
>> Michele Dondi wrote:
>>> On Wed, 30 Jan 2008 16:10:15 +0100, "Petr Vileta"
>>> <stoupa@practisoft.cz> wrote:
>>>
>>>> I'm tending to not use HTMP parsers because these construct a huge
>>>> hashes and this is usually not needed for my purposes.
>>>
>>> Huh?!? Evidence?
>>>
>>>
>> Example for convert any basic html page to plain text.
>>
>> # remove all except body content
>> $html=~s/^.+?<body.*?>(.+?)<\/body>.*$/$1/si;
>> # remove all scripts
>> $html=~s/<script.+?<\/script>//sig;
>> # remove all images
>> $html=~s/<img\s+.+?>//sig;
>> # remove all html coments
>> $html=~s/<\!\-\-.+?\-\->//sig;
>> # replace possible table end-of-row or <br> with new line
>> $html=~s/(<\/tr>|<br>)/\n/sig;
>> # remove all remaining html tags
>>
>> $html=~s/<.+?>//sg;
>>
>> Now I have plain text.
>
> No, you don't. At least, you probably do, but that's only because HTML
> files are plain text to start off with. What you do not have is a file
> completely cleared of HTML markup. And you also possibly have removed
> bits of text that you meant to leave in place.
>
What texts? Image's titles and alts? Links (anchors)? Form fields? Unimportant 
for me in concrete case.

>>                        Yes, this way is not ideal but is quickly and
>> consumpt low memory.
>
> If by "not ideal" you mean incorrect, you're right.
>
No, I mean not ideal for using universally. I have concrete goal and I use as 
minimal  resource as possible. For example if I want to extract clicable email 
addresses from html source I need to extract all
    /href=['"]*mailto:\s*(.+?)['"\s>/
 only.

> You really need a HTML parser to do this correctly, and it's simply
> not as trivial as you seem to think to roll one yourself.
>
Yes, HTML parse know to parse correctly but sometime fail on not valid html 
pages. For example I saw many times pages generated by PHP from templates, 
which contain <head> or <body> tags twice or more ;-)

> You still haven't given any evidence for your statement that HTML
> parsers construct huge hashes. I don't believe they necessarily, or
> ever, do. Even if that was simply a clumsy attempt to make a more
> general statement about why an HTML parser isn't going to work for
> you, I'd still like to hear some clarification. What is the high
> performance task that you need to perfomr on your memory starved
> machine that
> doesn't allow a HTML parser?
>
HTML:Parser and WWW:Mechanize are good modules but in many case these are "too 
big gun" :-)
-- 
Petr Vileta, Czech republic
(My server rejects all messages from Yahoo and Hotmail. Send me your
mail from another non-spammer site please.)

Please reply to <petr AT practisoft DOT cz>



------------------------------

Date: Thu, 31 Jan 2008 14:47:57 +0100
From: "Petr Vileta" <stoupa@practisoft.cz>
Subject: Re: "negative" regexp
Message-Id: <fnskn8$hp7$1@ns.felk.cvut.cz>

Tad J McClellan wrote:
> Petr Vileta <stoupa@practisoft.cz> wrote:
>
>
>> $html=~s/<\!\-\-.+?\-\->//sig;
>
>
> Unnecessary backslashes make your code much harder to read
> and understand. You should backslash only when you actually
> need to.
>
> There is not much point in ignoring case when your pattern
> does not contain any letters...
>
>
>   $html =~ s/<!--.+?-->//sg;
Yes, you are right, but O'Reilly book "Programin Perl" say "... any other 
escaped character is character itself". Maybe this is not correct cite, I have 
Czech version. In other word the character - is sometime "range operator" say 
in case [a-z] and character ! sometime mean "not". So for to be sure a 
character is a character but not operator I'm used to escape all possible 
ambiguous characters ;-)
-- 
Petr Vileta, Czech republic
(My server rejects all messages from Yahoo and Hotmail. Send me your
mail from another non-spammer site please.)

Please reply to <petr AT practisoft DOT cz>



------------------------------

Date: Thu, 31 Jan 2008 15:32:48 +0100
From: Michele Dondi <bik.mido@tiscalinet.it>
Subject: Re: "negative" regexp
Message-Id: <gum3q3l1rjai998g79uo3d0lnqe3oad1p6@4ax.com>

On Thu, 31 Jan 2008 01:54:11 +0100, "Petr Vileta"
<stoupa@practisoft.cz> wrote:

>>> I'm tending to not use HTMP parsers because these construct a huge
>>> hashes and this is usually not needed for my purposes.
>>
>> Huh?!? Evidence?
[snip]
>Now I have plain text. Yes, this way is not ideal but is quickly and consumpt 
>low memory.

I was asking for evidence that "HTML parsers construct huge hashes"
which is what I think you meant.


Michele
-- 
{$_=pack'B8'x25,unpack'A8'x32,$a^=sub{pop^pop}->(map substr
(($a||=join'',map--$|x$_,(unpack'w',unpack'u','G^<R<Y]*YB='
 .'KYU;*EVH[.FHF2W+#"\Z*5TI/ER<Z`S(G.DZZ9OX0Z')=~/./g)x2,$_,
256),7,249);s/[^\w,]/ /g;$ \=/^J/?$/:"\r";print,redo}#JAPH,


------------------------------

Date: Thu, 31 Jan 2008 03:57:20 -0800 (PST)
From: kandan24@gmail.com
Subject: *****************************************
Message-Id: <0c8dfa4d-dd1f-4dfa-9c80-5be2187dff60@m34g2000hsb.googlegroups.com>



*****************************************
nayanthara with simbhu without secenes
*****************************************
http://www.sexylifeformen.blogspot.com
******************************************


------------------------------

Date: Thu, 31 Jan 2008 15:35:11 GMT
From: "Tony T." <tony@abc.edu>
Subject: Re: Can't get PAR packager to run pp
Message-Id: <PUloj.25539$Ib6.14791@fe03.news.easynews.com>


> 
> http://www.bribes.org/perl/ppmdir.html
> 
> It's up to date with CPAN for PAR.
> 
> Alan

Thanks for all the suggestions.

I'm still having problems, but at least it's a different problem which
is always refreshing!

I added the bribes repository, as above, and installed PAR .977.
There was still no pp.bat anywhere on my system.

Then I did the install as described here: 
http://www.expertsrt.com/tutorials/Matt/perlPAR.html
by downloading each file and running nmake on each one.
Now when I type pp, I get:
Can't find par loader at C:/Perl/site/lib/PAR/Packer.pm line 101.
(There's now a pp.bat in c:\Perl\bin)

I'm using Perl 5.10.0, with PAR .977 on Windows XP.1
Same results if I use Perl 5.8

On my old system, running Perl 5.8 and PAR .90, pp.bat lives in 
\perl\site\bin, so it appears that the entire structure of PAR has changed.

Has anyone gotten this to work?

Thanks for all your help,

Tony





------------------------------

Date: Thu, 31 Jan 2008 15:47:18 GMT
From: "Tony T." <tony@abc.edu>
Subject: Re: Can't get PAR packager to run pp
Message-Id: <94moj.41473$rl3.14679@fe02.news.easynews.com>


> On my old system, running Perl 5.8 and PAR .90, pp.bat lives in 
> \perl\site\bin, so it appears that the entire structure of PAR has changed.
> 
> Has anyone gotten this to work?
> 
> Thanks for all your help,
> 
> Tony
> 
> 
> 

I found the problem!
As described here: 
http://par.wikia.com/wiki/FAQ#Why_doesn.27t_PAR_include_pp_any_more.3F

-----------
Why doesn't PAR include pp any more?

With version 0.970, the monolithic PAR distribution was split into a 
core PAR distribution which is pure-Perl and a PAR-Packer distribution 
which contains all the development tools and anything that might need a 
C compiler.

This change enables users to install the light-weight PAR module and use 
it to access .par files without requiring a C compiler for tools which 
they might never need.
-----------

So all you have to do is install PAR Packer, and all is well.

Thanks for all your help,

Tony


------------------------------

Date: Thu, 31 Jan 2008 03:43:24 -0800 (PST)
From: jpl <jeya.jpl62@gmail.com>
Subject: Easiest Way For Making Money
Message-Id: <6ba9e292-d055-44c1-a3a6-14f2869d9f88@s12g2000prg.googlegroups.com>

 It doesn't matter who you are, how old you are, or how long you have
been using the internet, anyone can make money.

http://increasingyourearningsuccess.blogspot.com




------------------------------

Date: Thu, 31 Jan 2008 13:55:22 +0100
From: Si <silicium_at_h@rmony-p.ath.cx>
Subject: how to remove blocks between nested brackets
Message-Id: <47a1c3a1$0$902$ba4acef3@news.orange.fr>

Beeing new to perl and not wanting to learn using it like assembler, I 
need to delete parts of a single line (possibly long) that are enclosed 
between nested brackets:

abcd efgh [ij: 123-[456]-klm; nop-789]; qrst; uvw [xyz: 98-76-[ef]; gh; 
ijkl] (mnop)

The comments between [] must be discarded to split with ';' delimiter.
The expected result is:
array[0] == "abcd efgh"
array[1] == "qrst"
array[2] == "uvw (mnop)"

Thanks for a magic formula.


------------------------------

Date: Thu, 31 Jan 2008 13:08:46 GMT
From: "John W. Krahn" <someone@example.com>
Subject: Re: how to remove blocks between nested brackets
Message-Id: <yLjoj.1929$cc3.644@edtnps82>

Si wrote:
> Beeing new to perl and not wanting to learn using it like assembler, I 
> need to delete parts of a single line (possibly long) that are enclosed 
> between nested brackets:
> 
> abcd efgh [ij: 123-[456]-klm; nop-789]; qrst; uvw [xyz: 98-76-[ef]; gh; 
> ijkl] (mnop)
> 
> The comments between [] must be discarded to split with ';' delimiter.
> The expected result is:
> array[0] == "abcd efgh"
> array[1] == "qrst"
> array[2] == "uvw (mnop)"

$ perl -le'
my $line = q{abcd efgh [ij: 123-[456]-klm; nop-789]; qrst; uvw [xyz: 
98-76-[ef]; gh; ijkl] (mnop)};

1 while $line =~ s/\[[^][]*]//g;

my @array = split /\s*;\s*/, $line;

print qq["$_"] for @array;
'
"abcd efgh"
"qrst"
"uvw  (mnop)"



John
-- 
Perl isn't a toolbox, but a small machine shop where you
can special-order certain sorts of tools at low cost and
in short order.                            -- Larry Wall


------------------------------

Date: Thu, 31 Jan 2008 13:46:10 +0000 (UTC)
From: dkcombs@panix.com (David Combs)
Subject: Re: How would I create a Regular Expression to check
Message-Id: <fnsjf2$o38$1@reader2.panix.com>

In article <86lk76vily.fsf@lifelogs.com>,
Ted Zlatanov  <tzz@lifelogs.com> wrote:
>On Thu, 03 Jan 2008 17:22:00 +0100 Christian Winter <thepoet_nospam@arcor.de> wrote: 
>
>CW> Nathan wrote:
>>> How would I create a Regular Expression to check Street address for
>>> any of the below items:
>
>CW> The short answer: you can't. At least not one single, reasonably
>CW> short regex that can cover it in one go. I'd simply iterate
>CW> over all the possibilities and compare each one to the street address,
>CW> like:
>
>An alternate approach is to use Parse::RecDescent.  It's really good in
>my experience for parsing this kind of disparate input, and will
>organize it for you (so you can tell that the street adress was in
>Spanish, for example).
>
>Ted

A late response/request.  *If* you find doing that pretty easy and 
quick to do, *please* show us how you'd do it.

I've read the doc on it, and come away with neither facility nor understanding
for actually being able to use it in a real problem.

THANKS MUCH (from all of us?)

David




------------------------------

Date: Thu, 31 Jan 2008 13:49:26 +0000 (UTC)
From: dkcombs@panix.com (David Combs)
Subject: Re: How would I create a Regular Expression to check
Message-Id: <fnsjl6$e1r$1@reader2.panix.com>

In article <47829ea8$0$3575$815e3792@news.qwest.net>,
J. Gleixner <glex_no-spam@qwest-spam-no.invalid> wrote:
>Nathan wrote:
>> You did not do my homework but thanks... I will try yours as well...
>> 
>> Here is what I came up with but I like yours better I might try yours
>> instead of mine....
>> 
>> ^([Pp]([Oo][Ss][Tt])?[.\s]*[Oo]([Ff][Ff][Ii][Cc][Ee])?[.\s]*[Bb][Oo]
>> [Xx])|[Pp][Oo]([Bb]|[Xx]|[Dd][Rr][Aa][Ww][Ee][Rr]|[Ss][Tt][Oo][Ff][Ff]
>> [Ii][Cc][Ee]|[ ][Bb][Xx]|[Bb][Oo][Xx])|[Pp][/][Oo]|[Bb]([Xx]|[Oo][Xx]|
>> [Uu][Zz][Oo][Nn])|[Aa]([Pp][Aa][Rr][Tt][Aa][Dd][Oo]|[Pp][Tt][Dd][Oo])
>
>Ever hear of case-insensitive pattern matching?

Without first going to perlop, I ask: even in *character classes*?!
>
>perldoc perlop
>
>Search for "m/PATTERN/cgimosx".

david



------------------------------

Date: Thu, 31 Jan 2008 15:38:53 +0100
From: Gunnar Hjalmarsson <noreply@gunnar.cc>
Subject: Re: How would I create a Regular Expression to check
Message-Id: <60e4s8F1q9etcU1@mid.individual.net>

David Combs wrote:
> In article <47829ea8$0$3575$815e3792@news.qwest.net>,
> J. Gleixner <glex_no-spam@qwest-spam-no.invalid> wrote:
>> Nathan wrote:
>>>
>>> ^([Pp]([Oo][Ss][Tt])?[.\s]*[Oo]([Ff][Ff][Ii][Cc][Ee])?[.\s]*[Bb][Oo]
>>> [Xx])|[Pp][Oo]([Bb]|[Xx]|[Dd][Rr][Aa][Ww][Ee][Rr]|[Ss][Tt][Oo][Ff][Ff]
>>> [Ii][Cc][Ee]|[ ][Bb][Xx]|[Bb][Oo][Xx])|[Pp][/][Oo]|[Bb]([Xx]|[Oo][Xx]|
>>> [Uu][Zz][Oo][Nn])|[Aa]([Pp][Aa][Rr][Tt][Aa][Dd][Oo]|[Pp][Tt][Dd][Oo])
>>
>> Ever hear of case-insensitive pattern matching?
> 
> Without first going to perlop, I ask: even in *character classes*?!

You should have tried it instead of asking hundreds of people.

C:\home>type test.pl
$_ = 'abc';
print "Yes\n" if /[A-Z]/i;

C:\home>test.pl
Yes

-- 
Gunnar Hjalmarsson
Email: http://www.gunnar.cc/cgi-bin/contact.pl


------------------------------

Date: Thu, 31 Jan 2008 04:49:44 -0800 (PST)
From: Koszalek Opalek <koszalekopalek@interia.pl>
Subject: Re: Magic for object constructor wanted
Message-Id: <66ae906b-60dc-4fdd-bf3f-82e7e8754776@k2g2000hse.googlegroups.com>

On Jan 31, 8:39 am, Martijn Lievaart <m...@rtij.nl.invlalid> wrote:

> Sure. Just don't put the objects in separate variables, put them in a
> hash.
>
> Even better, bless the hash, iow make it its own class.
>
> Then you get something like:
>
> use Friends;

I'm afraid that misses the point (or I have misunderstood
you).  I do not want to bless my objects into Friends.
I want to bless each one into a signle Dude so that I
can do things like

	$joe->whoami()

(And I do not want to rewrite code, that takes it for
granted that $joe, $tim, and $ann have all been blessed
into Dude's.)


> What you also can do, is store the name of the Dude in the Dude object.
> This is better design anyhow, but does not save you the extra redundancy
> of specifying the name twice:
>
> my $joe = Dude->new("joe");
> my $tom = Dude->new("tom");
> my $ann = Dude->new("ann");
> my $jane = Dude->new("jane");


That is not different from what I originally
posted except that (name=>"joe") has been
moved from fill() to new().

Koszalek


------------------------------

Date: Thu, 31 Jan 2008 14:18:13 +0000
From: bugbear <bugbear@trim_papermule.co.uk_trim>
Subject: Re: Magic for object constructor wanted
Message-Id: <13q3m569oift7b1@corp.supernews.com>

Koszalek Opalek wrote:
> My code creates new objects and then populates them with
> data, like this:
> 
> my $joe = Dude->new();
> my $tom = Dude->new();
> my $ann = Dude->new();
> my $jane = Dude->new();

I suggest that it's probably better to work like this:

my @people = (
     Dude->new("joe"),
     Dude->new("tom"),
     Dude->new("ann").
     Dude->new("jane")
);

Alternatively/additioanaly, you might have a "group"
class (set of Dudes) that allow Dudes t be found by name.

If your set of names becomes large, declaring all the
variables implied by your original approach becomes ugly.

   BugBear


------------------------------

Date: Thu, 31 Jan 2008 15:58:27 GMT
From: Peter Scott <Peter@PSDT.com>
Subject: Re: Magic for object constructor wanted
Message-Id: <pan.2008.01.31.15.58.27.155294@PSDT.com>

On Wed, 30 Jan 2008 22:05:45 -0800, Koszalek Opalek wrote:
> My code creates new objects and then populates them with
> data, like this:
> 
> my $joe = Dude->new();
> my $tom = Dude->new();
> my $ann = Dude->new();
> my $jane = Dude->new();
> 
> $joe->fill(
> 	name => "joe",
> 	friends => [ $ann, $tom ]
> );
> 
> $jane->fill(
> 	name => "jane",
> 	friends => [ $ann ]
> );
> 
> You will notice that the name field is always the same as
> the variable that stores the object. What kind of magic
> would I have to use in the constructor (or in the fill()
> method) so that the name of the object does not have
> to be specified explicitly? In other words, I would like to
> be able to say:
> 
> $joe->fill(
> 	friends => [ $ann, tom ]
> );
> 
> $jane->fill(
> 	friends => [ $ann ]
> );
> 
> and still have the name field set. This saves typing and
> makes sure the variable name and the name field match.
> 
> Is this possible?

Possible, yes.  Ugly, too.  What you want is a sure-fire sign of a bad
design.  I'm only going to show how to do it as an academic exercise to
demonstrate that Perl makes even bad ideas possible.  I'm not going to
answer any questions about it.  I think it would be a hideous mistake to
put it in production code.

$ cat /tmp/foo
#!/usr/local/bin/perl
use strict;
use warnings;

use PadWalker qw(peek_my);
use List::Util qw(first);

my $my_name = 42;

get_name(\$my_name);

sub get_name {
  my $ref = shift; 

  my $h = peek_my(1);
  my $name = first { ref $ref && $h->{$_} eq $ref } keys %$h;
  print "Object variable name = ", ($name || "<???>"), "\n";
}

$ /tmp/foo
Object variable name = $my_name

-- 
Peter Scott
http://www.perlmedic.com/
http://www.perldebugged.com/



------------------------------

Date: Thu, 31 Jan 2008 15:34:51 +0100
From: Michele Dondi <bik.mido@tiscalinet.it>
Subject: Re: perl problem
Message-Id: <43n3q3pdrme4oka0nebp4219ioortmoqr8@4ax.com>

On Wed, 30 Jan 2008 21:16:27 -0800 (PST), arup
<swarupapradhan@gmail.com> wrote:

>Subject: perl problem

Yep, which *actual* one?

>hi, I have around 400 proteins and I have to retrieve all protein
>pages using Perl script or .....I m new in Programmig ...Can anyone
>help me how to solve it....

Pages? Web pages? If so then LWP is your friend.


Michele
-- 
{$_=pack'B8'x25,unpack'A8'x32,$a^=sub{pop^pop}->(map substr
(($a||=join'',map--$|x$_,(unpack'w',unpack'u','G^<R<Y]*YB='
 .'KYU;*EVH[.FHF2W+#"\Z*5TI/ER<Z`S(G.DZZ9OX0Z')=~/./g)x2,$_,
256),7,249);s/[^\w,]/ /g;$ \=/^J/?$/:"\r";print,redo}#JAPH,


------------------------------

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.  

NOTE: due to the current flood of worm email banging on ruby, the smtp
server on ruby has been shut off until further notice. 

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 V11 Issue 1245
***************************************


home help back first fref pref prev next nref lref last post