[29160] in Perl-Users-Digest
Perl-Users Digest, Issue: 404 Volume: 11
daemon@ATHENA.MIT.EDU (Perl-Users Digest)
Fri May 4 09:09:53 2007
Date: Fri, 4 May 2007 06:09:05 -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 Fri, 4 May 2007 Volume: 11 Number: 404
Today's topics:
2 array problem <katera@tovle.ct>
Re: 2 array problem <bik.mido@tiscalinet.it>
Re: 2 array problem anno4000@radom.zrz.tu-berlin.de
Re: 2 array problem <phus@live.com>
Re: 2 array problem <bik.mido@tiscalinet.it>
Re: 2 array problem <abigail@abigail.be>
Re: 2 array problem anno4000@radom.zrz.tu-berlin.de
Chained exceptions in Perl <ifomichev@gmail.com>
Re: File::Grep <paduille.4061.mumia.w+nospam@earthlink.net>
Re: I find the perl syntax easier than python (aka ? the Platypus)
Lisp for the C21 <dr.mtarver@ukonline.co.uk>
Re: octal and hex <jurgenex@hotmail.com>
Re: Perl & SMS Question <paola.capatti@gmail.com>
Posting Guidelines for comp.lang.perl.misc ($Revision: tadmc@augustmail.com
Re: remove html to leave text <ton_de_winter@yahoo.co.uk>
Re: selecting particular form with field <nospam@home.com>
Digest Administrivia (Last modified: 6 Apr 01) (Perl-Users-Digest Admin)
----------------------------------------------------------------------
Date: Fri, 4 May 2007 09:30:39 +0200
From: "katera" <katera@tovle.ct>
Subject: 2 array problem
Message-Id: <f1enev$ltu$1@ss408.t-com.hr>
Help
I have 2 array @a @b
How to exclude second array from first?
Eg
@a= ("123;first", "124;second", "013;bla3", "011;bla4", "050,bla5");
@b= (123,011,000,050);
result:
@c= ("124;first", "013;bla3");
Thanks
------------------------------
Date: Fri, 04 May 2007 10:50:24 +0200
From: Michele Dondi <bik.mido@tiscalinet.it>
Subject: Re: 2 array problem
Message-Id: <ossl33901fdut09d9pvam4b3g5s02r09kg@4ax.com>
On Fri, 4 May 2007 09:30:39 +0200, "katera" <katera@tovle.ct> wrote:
>I have 2 array @a @b
>How to exclude second array from first?
perldoc -q difference
>Eg
>@a= ("123;first", "124;second", "013;bla3", "011;bla4", "050,bla5");
>@b= (123,011,000,050);
>
>
>result:
>@c= ("124;first", "013;bla3");
Not exactly the same as the FAQ entry. Try to adapt that as an
exercise. If you can't, come back and ask for more help.
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: 4 May 2007 10:06:25 GMT
From: anno4000@radom.zrz.tu-berlin.de
Subject: Re: 2 array problem
Message-Id: <5a0et1F2mflpoU1@mid.dfncis.de>
katera <katera@tovle.ct> wrote in comp.lang.perl.misc:
> Help
>
> I have 2 array @a @b
You should avoid the variable names "a" and "b" in Perl, they have
special significance and don't behave like other variables in
all respects.
> How to exclude second array from first?
>
> Eg
> @a= ("123;first", "124;second", "013;bla3", "011;bla4", "050,bla5");
^
Why is the separator in the last element a comma? I'll assume it's
a semicolon like the others.
> @b= (123,011,000,050);
You are specifying the elements of @b as numbers with leading zeroes,
but these are lost in evaluation. The number 050 will not match the
string "050" in "050;bla5". Specify @b as strings.
> result:
> @c= ("124;first", "013;bla3");
There is no "124;first" in array @a but only "124;second".
In summary, every one of your three lines of problem description
contains an error. Please take more care, the inconsistencies
make it time-consuming just to find out what you want to achieve.
Here is one way:
my @a = ("123;first", "124;second", "013;bla3", "011;bla4", "050;bla5");
my @b = qw(123 011 000 050);
my @c = do {
my %h = map split( /;/) => @a;
delete @h{ @b};
map "$_;$h{ $_}" => keys %h;
};
print "@c\n";
Anno
------------------------------
Date: 4 May 2007 03:10:21 -0700
From: phus <phus@live.com>
Subject: Re: 2 array problem
Message-Id: <1178273421.633735.128290@l77g2000hsb.googlegroups.com>
katera =D0=B4=B5=C0=A3=BA
> Help
>
> I have 2 array @a @b
> How to exclude second array from first?
>
> Eg
> @a=3D ("123;first", "124;second", "013;bla3", "011;bla4", "050,bla5");
> @b=3D (123,011,000,050);
>
>
> result:
> @c=3D ("124;first", "013;bla3");
>
> Thanks
try
my @a=3D ("123;first", "124;second", "013;bla3", "011;bla4",
"050;bla5");
my @b=3D ('123','011','000','050'); # not 123 but '123', etc
my @c =3D grep {!exists(${{map {$_=3D>1} @b}}{(m/^(\d+)/)[0]})} @a;
print "@c\n";
------------------------------
Date: Fri, 04 May 2007 12:10:27 +0200
From: Michele Dondi <bik.mido@tiscalinet.it>
Subject: Re: 2 array problem
Message-Id: <vi1m3314f1r5ou3br6vgd0kvg73ph7vmc0@4ax.com>
On 4 May 2007 10:06:25 GMT, anno4000@radom.zrz.tu-berlin.de wrote:
>> @b= (123,011,000,050);
>
>You are specifying the elements of @b as numbers with leading zeroes,
>but these are lost in evaluation. The number 050 will not match the
>string "050" in "050;bla5". Specify @b as strings.
And, (to the OP) a cheap way to do so is to put a qw in front of the
parenthesis and make those commas into spaces.
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: 04 May 2007 10:38:58 GMT
From: Abigail <abigail@abigail.be>
Subject: Re: 2 array problem
Message-Id: <slrnf3m39a.hl5.abigail@alexandra.abigail.be>
anno4000@radom.zrz.tu-berlin.de (anno4000@radom.zrz.tu-berlin.de) wrote
on MMMMCMXCIV September MCMXCIII in <URL:news:5a0et1F2mflpoU1@mid.dfncis.de>:
@@ katera <katera@tovle.ct> wrote in comp.lang.perl.misc:
@@ > Help
@@ >
@@ > I have 2 array @a @b
@@
@@ You should avoid the variable names "a" and "b" in Perl, they have
@@ special significance and don't behave like other variables in
@@ all respects.
Well, that's only $a and $b.
@@
@@ > How to exclude second array from first?
@@ >
@@ > Eg
@@ > @a= ("123;first", "124;second", "013;bla3", "011;bla4", "050,bla5");
@@ ^
@@ Why is the separator in the last element a comma? I'll assume it's
@@ a semicolon like the others.
@@
@@ > @b= (123,011,000,050);
@@
@@ You are specifying the elements of @b as numbers with leading zeroes,
@@ but these are lost in evaluation. The number 050 will not match the
@@ string "050" in "050;bla5". Specify @b as strings.
Right. Furthermore, 050 will not match the string "50" either.
It will match the string "40" though.
Leading 0s indicate octal numbers.
Abigail
--
@;=split//=>"Joel, Preach sartre knuth\n";$;=chr 65;%;=map{$;++=>$_}
0,22,13,16,5,14,21,1,23,11,2,7,12,6,8,15,3,19,24,14,10,20,18,17,4,25
;print@;[@;{A..Z}];
------------------------------
Date: 4 May 2007 12:17:06 GMT
From: anno4000@radom.zrz.tu-berlin.de
Subject: Re: 2 array problem
Message-Id: <5a0mi2F2mebjmU1@mid.dfncis.de>
Abigail <abigail@abigail.be> wrote in comp.lang.perl.misc:
> anno4000@radom.zrz.tu-berlin.de (anno4000@radom.zrz.tu-berlin.de) wrote
> on MMMMCMXCIV September MCMXCIII in <URL:news:5a0et1F2mflpoU1@mid.dfncis.de>:
> @@ katera <katera@tovle.ct> wrote in comp.lang.perl.misc:
> @@ > Help
> @@ >
> @@ > I have 2 array @a @b
> @@
> @@ You should avoid the variable names "a" and "b" in Perl, they have
> @@ special significance and don't behave like other variables in
> @@ all respects.
>
> Well, that's only $a and $b.
Yes, but they're package variables, so @a and $a aren't completely
independent.
use strict; use warnings;
my ( @l);
# a legit use of $a and $b
@l = sort { $a <=> $b } 1, 2, 3;
# ... makes @a behave differently
@l = @main::a; # no warning "once" here
# ... from @x
@l = @main::x; # this warns
Here the "...used only once" warning is not issued for @a. If the
"sort" line is commented out, the warning appears for both @a and @x.
Anno
------------------------------
Date: 4 May 2007 01:44:44 -0700
From: Ivan Fomichev <ifomichev@gmail.com>
Subject: Chained exceptions in Perl
Message-Id: <1178268284.426125.171240@o5g2000hsb.googlegroups.com>
Hello, all!
I appreciate Exception::Class very much, but there isn't an important
feature there (or am I optically challenged?)
I wonder, if there is a ready solution to make chained exceptions in
Perl, like here: http://jakarta.apache.org/cactus/api/framework-12/org/apache/cactus/util/ChainedRuntimeException.html
Regards,
Ivan
------------------------------
Date: Fri, 04 May 2007 10:59:16 GMT
From: "Mumia W." <paduille.4061.mumia.w+nospam@earthlink.net>
Subject: Re: File::Grep
Message-Id: <8mE_h.11602$3P3.7645@newsread3.news.pas.earthlink.net>
On 05/03/2007 12:40 PM, Xicheng Jia wrote:
> On May 3, 11:36 am, g41...@motorola.com wrote:
>> Hi:
>>
>> I'm trying to get the match string from fgrep with the following code:
>>
>> use File::Grep qw (fgrep);
>> foreach $log (@logfile) {
>> @match = fgrep { /HOSTNAME/ } "$log";
>
> 1) you dont have to add quotation marks with $log.
>
> 2) the returned array elements are designed as filehandle-like
> objects, not the filenames. If you print out the returned hash
> reference, you can easily know how to extract the corresponding
> filename..try the following:
>
> foreach my $log (@logfile) {
> my @match = fgrep { /HOSTNAME/ } $log;
> print $_->{filename} for @match;
> # do more stuff
> }
>
> Good luck,
> Xicheng
>
>
Once again, it's proved how valuable Data::Dumper is. I still think
File::Grep has a bug: it's documentation needs to specify that a list of
hash references is returned.
------------------------------
Date: Fri, 04 May 2007 12:41:14 GMT
From: "David Formosa (aka ? the Platypus)" <dformosa@usyd.edu.au>
Subject: Re: I find the perl syntax easier than python
Message-Id: <slrnf3mb1l.o5h.dformosa@localhost.localdomain>
On 03 May 2007 21:12:37 GMT, Abigail <abigail@abigail.be> wrote:
> David Formosa (aka ? the Platypus) (dformosa@usyd.edu.au) wrote on
> MMMMCMXCIII September MCMXCIII in <URL:news:slrnf3kk20.o5h.dformosa@localhost.localdomain>:
> ^^ On 03 May 2007 19:21:12 GMT, Abigail <abigail@abigail.be> wrote:
[...]
> ^^ > sub addprint {my $sum = 0; $sum += $_ for @_; print $sum, "\n"}
> ^^
> ^^ So you do something like this
> ^^
> ^^ sub addprint (*@num) { say [+] @num };
>
> Yeah, but that's only on the second try. ;-)
But mine is more elegant.
------------------------------
Date: 4 May 2007 02:07:06 -0700
From: Mark Tarver <dr.mtarver@ukonline.co.uk>
Subject: Lisp for the C21
Message-Id: <1178269626.886617.214390@u30g2000hsc.googlegroups.com>
QUOTE
Python has readable syntax, a huge library, and bindings for what
seems like every major in linux. Perl has CPAN. It seems with those
languages if you want to do something all you have to do is import
functionality from a library someone had written and use that.
In lisp you'd have to "roll your own".
Why should I keep on learning lisp when there are python and perl?
UNQUOTE
I can see where this guy is coming from (though I can't find the
original post any more (?)).
See my remarks on the Lisp for the Twenty First Century
http://www.lambdassociates.org/lC21.htm
for our take on this one.
Mark
------------------------------
Date: Fri, 04 May 2007 08:39:05 GMT
From: "Jürgen Exner" <jurgenex@hotmail.com>
Subject: Re: octal and hex
Message-Id: <JiC_h.7563$b61.6563@trndny09>
interpreter.maladies@gmail.com wrote:
> I can't figure out how to detect the difference between an octal and a
> hex string such as so:
>
> my $text1 = "\110ello";
> my $text2 = "\x48ello";
Yep, those are two different ways to define the same string. And there are
even many more ways to define exactly the same string, e.g.
"Hello World"
'Hello World'
'H' . 'e' , 'l' . 'l' [well, you get the idea]
> Both expressions /[\x00-\x7f]/ and /[\000-\177]/ match both strings
> unfortunately.
Well, yeah, bot REs will match _any_ single ASCII character. It's just two
different ways to write the same code.
> Is there a way to match an octal but not a hex character, and
> conversely, match a hex character but not an octal?
Please define "octal" and "hex" characters. I know what a character is, and
I know how to denote a character in octal or hex notation. Just like you can
denote the number five in arabic or roman numerals,but it is still the
number five.
But I have no idea what a octal character is unless you mean to match the
_representation_ of the character 'H' in octal, i.e. you want to match the
four-character sequence backslash-one-one-zero.
jue
------------------------------
Date: 4 May 2007 02:32:52 -0700
From: Dave24 <paola.capatti@gmail.com>
Subject: Re: Perl & SMS Question
Message-Id: <1178271172.438148.103980@p77g2000hsh.googlegroups.com>
I'm familiar with clickatell also, and it can provide good coverage
for 10 euro cents per SMS, - even less in some countries like norway.
For a free sms provider in uk you could try www.freebiesms.co.uk, they
have a developer's section with some web-services. I guess that should
be accessable to perl.
On May 3, 8:03 am, Brian McCauley <nobul...@gmail.com> wrote:
> On May 2, 11:28 pm, "ame...@iwc.net" <ame...@iwc.net> wrote:
>
> > Hi All,
>
> > I'm looking for a module that will allow me, from a Perl script, to
> > senda text message to a cell phone.
>
> > I would rather not use the email approach, as people change providers
> > and such. So, I'd rather use the phone number.
>
> > I've trued NET::SMSand WWW::SMSand neither work. NET::SMSrequires
> > me to pay some subscription to a place, and WWW::SMSjust plain
> > failed......
>
> > Can anyone else help??
>
> Perhaps a psychic? That's what you'd need to diagnose a problem from
> a description of "plain failed".
>
> Whenever I sendSMSfrom Perl I just use a simple HTTP POST with LWP
> to a gateway[2]. Perhaps I would have used one of those modules if
> they'd been about when I first did it but it would be hard for the API
> to be simpler. The main advantage of such modules is that they can
> encapsulate the differences between gateway APIs and avoid the need to
> change your code when you change gateway.
>
> In general you are going to need a paid subscription to a gateway
> service. This is unavoidable to recoup costs and avoid abuse of the
> service to Spam. Remember that in most[1] networks there is a
> termination charge forSMSand the recipient bares none of the cost.
> And where the recipient pays the potential for Spam is even worse.
>
> If you sendSMSvia a "free" website user interface this service is
> provided to draw readers into the website (where they'll be exposed to
> advertising that pays for the service). You cannot reasonably expect
> an API service to befree. You could use LWP to drive afreewebsite
> service but they tend to try to make this non-trivial and it usually
> violates their terms of use anyhow.
>
> [1] I believe this may be less common in the US, I'm talking globally.
>
> [2] The one I use (Clickatel) is in South Africa, priced in Euros but
> billed in Rand. About .1 Euro per message (varies by network). Prepay
> pay-as-you-go. No setup or standing fees. For reliable worldwide
> delivery of small numbers of messages ~10/day I've not found a more
> cost effective option - and for the amount it's costing it's not much
> worth my while looking at the moment.
------------------------------
Date: 04 May 2007 07:10:20 GMT
From: tadmc@augustmail.com
Subject: Posting Guidelines for comp.lang.perl.misc ($Revision: 1.7 $)
Message-Id: <463adc5b$0$3573$ae4e5890@news.nationwide.net>
Outline
Before posting to comp.lang.perl.misc
Must
- Check the Perl Frequently Asked Questions (FAQ)
- Check the other standard Perl docs (*.pod)
Really Really Should
- Lurk for a while before posting
- Search a Usenet archive
If You Like
- Check Other Resources
Posting to comp.lang.perl.misc
Is there a better place to ask your question?
- Question should be about Perl, not about the application area
How to participate (post) in the clpmisc community
- Carefully choose the contents of your Subject header
- Use an effective followup style
- Speak Perl rather than English, when possible
- Ask perl to help you
- Do not re-type Perl code
- Provide enough information
- Do not provide too much information
- Do not post binaries, HTML, or MIME
Social faux pas to avoid
- Asking a Frequently Asked Question
- Asking a question easily answered by a cursory doc search
- Asking for emailed answers
- Beware of saying "doesn't work"
- Sending a "stealth" Cc copy
Be extra cautious when you get upset
- Count to ten before composing a followup when you are upset
- Count to ten after composing and before posting when you are upset
-----------------------------------------------------------------
Posting Guidelines for comp.lang.perl.misc ($Revision: 1.7 $)
This newsgroup, commonly called clpmisc, is a technical newsgroup
intended to be used for discussion of Perl related issues (except job
postings), whether it be comments or questions.
As you would expect, clpmisc discussions are usually very technical in
nature and there are conventions for conduct in technical newsgroups
going somewhat beyond those in non-technical newsgroups.
The article at:
http://www.catb.org/~esr/faqs/smart-questions.html
describes how to get answers from technical people in general.
This article describes things that you should, and should not, do to
increase your chances of getting an answer to your Perl question. It is
available in POD, HTML and plain text formats at:
http://www.augustmail.com/~tadmc/clpmisc.shtml
For more information about netiquette in general, see the "Netiquette
Guidelines" at:
http://andrew2.andrew.cmu.edu/rfc/rfc1855.html
A note to newsgroup "regulars":
Do not use these guidelines as a "license to flame" or other
meanness. It is possible that a poster is unaware of things
discussed here. Give them the benefit of the doubt, and just
help them learn how to post, rather than assume that they do
know and are being the "bad kind" of Lazy.
A note about technical terms used here:
In this document, we use words like "must" and "should" as
they're used in technical conversation (such as you will
encounter in this newsgroup). When we say that you *must* do
something, we mean that if you don't do that something, then
it's unlikely that you will benefit much from this group.
We're not bossing you around; we're making the point without
lots of words.
Do *NOT* send email to the maintainer of these guidelines. It will be
discarded unread. The guidelines belong to the newsgroup so all
discussion should appear in the newsgroup. I am just the secretary that
writes down the consensus of the group.
Before posting to comp.lang.perl.misc
Must
This section describes things that you *must* do before posting to
clpmisc, in order to maximize your chances of getting meaningful replies
to your inquiry and to avoid getting flamed for being lazy and trying to
have others do your work.
The perl distribution includes documentation that is copied to your hard
drive when you install perl. Also installed is a program for looking
things up in that (and other) documentation named 'perldoc'.
You should either find out where the docs got installed on your system,
or use perldoc to find them for you. Type "perldoc perldoc" to learn how
to use perldoc itself. Type "perldoc perl" to start reading Perl's
standard documentation.
Check the Perl Frequently Asked Questions (FAQ)
Checking the FAQ before posting is required in Big 8 newsgroups in
general, there is nothing clpmisc-specific about this requirement.
You are expected to do this in nearly all newsgroups.
You can use the "-q" switch with perldoc to do a word search of the
questions in the Perl FAQs.
Check the other standard Perl docs (*.pod)
The perl distribution comes with much more documentation than is
available for most other newsgroups, so in clpmisc you should also
see if you can find an answer in the other (non-FAQ) standard docs
before posting.
It is *not* required, or even expected, that you actually *read* all of
Perl's standard docs, only that you spend a few minutes searching them
before posting.
Try doing a word-search in the standard docs for some words/phrases
taken from your problem statement or from your very carefully worded
"Subject:" header.
Really Really Should
This section describes things that you *really should* do before posting
to clpmisc.
Lurk for a while before posting
This is very important and expected in all newsgroups. Lurking means
to monitor a newsgroup for a period to become familiar with local
customs. Each newsgroup has specific customs and rituals. Knowing
these before you participate will help avoid embarrassing social
situations. Consider yourself to be a foreigner at first!
Search a Usenet archive
There are tens of thousands of Perl programmers. It is very likely
that your question has already been asked (and answered). See if you
can find where it has already been answered.
One such searchable archive is:
http://groups.google.com/advanced_group_search
If You Like
This section describes things that you *can* do before posting to
clpmisc.
Check Other Resources
You may want to check in books or on web sites to see if you can
find the answer to your question.
But you need to consider the source of such information: there are a
lot of very poor Perl books and web sites, and several good ones
too, of course.
Posting to comp.lang.perl.misc
There can be 200 messages in clpmisc in a single day. Nobody is going to
read every article. They must decide somehow which articles they are
going to read, and which they will skip.
Your post is in competition with 199 other posts. You need to "win"
before a person who can help you will even read your question.
These sections describe how you can help keep your article from being
one of the "skipped" ones.
Is there a better place to ask your question?
Question should be about Perl, not about the application area
It can be difficult to separate out where your problem really is,
but you should make a conscious effort to post to the most
applicable newsgroup. That is, after all, where you are the most
likely to find the people who know how to answer your question.
Being able to "partition" a problem is an essential skill for
effectively troubleshooting programming problems. If you don't get
that right, you end up looking for answers in the wrong places.
It should be understood that you may not know that the root of your
problem is not Perl-related (the two most frequent ones are CGI and
Operating System related), so off-topic postings will happen from
time to time. Be gracious when someone helps you find a better place
to ask your question by pointing you to a more applicable newsgroup.
How to participate (post) in the clpmisc community
Carefully choose the contents of your Subject header
You have 40 precious characters of Subject to win out and be one of
the posts that gets read. Don't waste them. Take care while
composing them, they are the key that opens the door to getting an
answer.
Spend them indicating what aspect of Perl others will find if they
should decide to read your article.
Do not spend them indicating "experience level" (guru, newbie...).
Do not spend them pleading (please read, urgent, help!...).
Do not spend them on non-Subjects (Perl question, one-word
Subject...)
For more information on choosing a Subject see "Choosing Good
Subject Lines":
http://www.cpan.org/authors/id/D/DM/DMR/subjects.post
Part of the beauty of newsgroup dynamics, is that you can contribute
to the community with your very first post! If your choice of
Subject leads a fellow Perler to find the thread you are starting,
then even asking a question helps us all.
Use an effective followup style
When composing a followup, quote only enough text to establish the
context for the comments that you will add. Always indicate who
wrote the quoted material. Never quote an entire article. Never
quote a .signature (unless that is what you are commenting on).
Intersperse your comments *following* each section of quoted text to
which they relate. Unappreciated followup styles are referred to as
"top-posting", "Jeopardy" (because the answer comes before the
question), or "TOFU" (Text Over, Fullquote Under).
Reversing the chronology of the dialog makes it much harder to
understand (some folks won't even read it if written in that style).
For more information on quoting style, see:
http://web.presby.edu/~nnqadmin/nnq/nquote.html
Speak Perl rather than English, when possible
Perl is much more precise than natural language. Saying it in Perl
instead will avoid misunderstanding your question or problem.
Do not say: I have variable with "foo\tbar" in it.
Instead say: I have $var = "foo\tbar", or I have $var = 'foo\tbar',
or I have $var = <DATA> (and show the data line).
Ask perl to help you
You can ask perl itself to help you find common programming mistakes
by doing two things: enable warnings (perldoc warnings) and enable
"strict"ures (perldoc strict).
You should not bother the hundreds/thousands of readers of the
newsgroup without first seeing if a machine can help you find your
problem. It is demeaning to be asked to do the work of a machine. It
will annoy the readers of your article.
You can look up any of the messages that perl might issue to find
out what the message means and how to resolve the potential mistake
(perldoc perldiag). If you would like perl to look them up for you,
you can put "use diagnostics;" near the top of your program.
Do not re-type Perl code
Use copy/paste or your editor's "import" function rather than
attempting to type in your code. If you make a typo you will get
followups about your typos instead of about the question you are
trying to get answered.
Provide enough information
If you do the things in this item, you will have an Extremely Good
chance of getting people to try and help you with your problem!
These features are a really big bonus toward your question winning
out over all of the other posts that you are competing with.
First make a short (less than 20-30 lines) and *complete* program
that illustrates the problem you are having. People should be able
to run your program by copy/pasting the code from your article. (You
will find that doing this step very often reveals your problem
directly. Leading to an answer much more quickly and reliably than
posting to Usenet.)
Describe *precisely* the input to your program. Also provide example
input data for your program. If you need to show file input, use the
__DATA__ token (perldata.pod) to provide the file contents inside of
your Perl program.
Show the output (including the verbatim text of any messages) of
your program.
Describe how you want the output to be different from what you are
getting.
If you have no idea at all of how to code up your situation, be sure
to at least describe the 2 things that you *do* know: input and
desired output.
Do not provide too much information
Do not just post your entire program for debugging. Most especially
do not post someone *else's* entire program.
Do not post binaries, HTML, or MIME
clpmisc is a text only newsgroup. If you have images or binaries
that explain your question, put them in a publically accessible
place (like a Web server) and provide a pointer to that location. If
you include code, cut and paste it directly in the message body.
Don't attach anything to the message. Don't post vcards or HTML.
Many people (and even some Usenet servers) will automatically filter
out such messages. Many people will not be able to easily read your
post. Plain text is something everyone can read.
Social faux pas to avoid
The first two below are symptoms of lots of FAQ asking here in clpmisc.
It happens so often that folks will assume that it is happening yet
again. If you have looked but not found, or found but didn't understand
the docs, say so in your article.
Asking a Frequently Asked Question
It should be understood that you may have missed the applicable FAQ
when you checked, which is not a big deal. But if the Frequently
Asked Question is worded similar to your question, folks will assume
that you did not look at all. Don't become indignant at pointers to
the FAQ, particularly if it solves your problem.
Asking a question easily answered by a cursory doc search
If folks think you have not even tried the obvious step of reading
the docs applicable to your problem, they are likely to become
annoyed.
If you are flamed for not checking when you *did* check, then just
shrug it off (and take the answer that you got).
Asking for emailed answers
Emailed answers benefit one person. Posted answers benefit the
entire community. If folks can take the time to answer your
question, then you can take the time to go get the answer in the
same place where you asked the question.
It is OK to ask for a *copy* of the answer to be emailed, but many
will ignore such requests anyway. If you munge your address, you
should never expect (or ask) to get email in response to a Usenet
post.
Ask the question here, get the answer here (maybe).
Beware of saying "doesn't work"
This is a "red flag" phrase. If you find yourself writing that,
pause and see if you can't describe what is not working without
saying "doesn't work". That is, describe how it is not what you
want.
Sending a "stealth" Cc copy
A "stealth Cc" is when you both email and post a reply without
indicating *in the body* that you are doing so.
Be extra cautious when you get upset
Count to ten before composing a followup when you are upset
This is recommended in all Usenet newsgroups. Here in clpmisc, most
flaming sub-threads are not about any feature of Perl at all! They
are most often for what was seen as a breach of netiquette. If you
have lurked for a bit, then you will know what is expected and won't
make such posts in the first place.
But if you get upset, wait a while before writing your followup. I
recommend waiting at least 30 minutes.
Count to ten after composing and before posting when you are upset
After you have written your followup, wait *another* 30 minutes
before committing yourself by posting it. You cannot take it back
once it has been said.
AUTHOR
Tad McClellan <tadmc@augustmail.com> and many others on the
comp.lang.perl.misc newsgroup.
------------------------------
Date: 4 May 2007 01:33:25 -0700
From: ton de w <ton_de_winter@yahoo.co.uk>
Subject: Re: remove html to leave text
Message-Id: <1178267605.443222.144740@u30g2000hsc.googlegroups.com>
On 4 May, 06:39, Joe Smith <j...@inwap.com> wrote:
> Sherm Pendley wrote:
> > ton de w <ton_de_win...@yahoo.co.uk> writes:
>
> >> How can I strip out the html tags <b> etc etc and replace each tag
> >> with a char of my choice?
>
> > That's a Frequently Asked Question:
>
> > perldoc -q 'remove HTML'
>
> "The most correct way (albeit not the fastest) is to use HTML::Parser from CPAN."
>
> If you're too impatient to read through all of docs, here's a hint on usage:
>
> #!/usr/bin/perl
> # Name: nohtml Author: Joe.Sm...@inwap.com 07-Nov-2001
> # Purpose: Extracts just the text portions of a document.
> use strict; use warnings;
> use HTML::Parser ();
> sub text_handler { print @_; } # Ordinary text
> my $p = HTML::Parser->new(api_version => 3);
> $p->handler( text => \&text_handler, "dtext");
> $p->parse_file(shift || "-") || die $!;use strict; use warnings;
Thanks very much!
I have fed the chunk into the parser thusly:
use HTML::Parser ();
sub text_handler { print @_; }
my $p = HTML::Parser->new(api_version => 3);
$p->handler( text => \&text_handler, "dtext");
$p->parse("<b>Action 03000 Imported from FRED</b><br><br><b>");
output is:
Action 03000 Imported from FRED
Can I substitute a char, say '-' for any html tag?
And maybe a | for '<p>'
?
Thanks for the help so far!
------------------------------
Date: Fri, 04 May 2007 12:45:55 GMT
From: "Nospam" <nospam@home.com>
Subject: Re: selecting particular form with field
Message-Id: <7WF_h.1358$o42.879@newsfe3-win.ntli.net>
"Xicheng Jia" <xicheng@gmail.com> wrote in message
news:1178227984.721178.270770@n59g2000hsh.googlegroups.com...
> On May 3, 5:12 pm, "Nospam" <nos...@home.com> wrote:
> > If I have several forms on a page, can someone confirm, if this would
> > select/follow the first form with the field username, and set the
username
> > field to username:
> >
> > #!usr/bin/perl
> > use strict;
> > use warnings;
> > use WWW::Mechanize;
> >
> > my $mech = WWW::Mechanize->new();
> > my $url= 'http://www.example.com';
> > $mech->get($url);
> > my @forms = grep {$_->$mech->field()=~ /username/i }$mech->forms();
> > $mech->form($form[0]);
>
>
> > $mech->field('username','username');
>
> How about:
>
> my $theform = $mech->form_with_fields('username');
> theform->attr('username', 'username') if defined $theform;
>
> (untested)
>
> Regards,
> Xicheng
>
Unfortunately it doesn't work
I can access the form if I have a few conditionals:
$mech->form(0) || $mech->form(1);
but I do not understand why I am unable to access the form if I amend it a
little:
my $theform = $mech->form_with_fields('username','password');
$mech->form($theform) || $mech->form(0) || $mech->form(1);
or
$mech->form_with_fields('username','password') || $mech->form(0) ||
$mech->form(1);
Can't access the form at all with form_with_fields
------------------------------
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 404
**************************************