[7280] in Perl-Users-Digest
Perl-Users Digest, Issue: 905 Volume: 8
daemon@ATHENA.MIT.EDU (Perl-Users Digest)
Fri Aug 22 13:18:37 1997
Date: Fri, 22 Aug 97 10:00:22 -0700
From: Perl-Users Digest <Perl-Users-Request@ruby.OCE.ORST.EDU>
To: Perl-Users@ruby.OCE.ORST.EDU (Perl-Users Digest)
Perl-Users Digest Fri, 22 Aug 1997 Volume: 8 Number: 905
Today's topics:
Re: Assinging values of HASH in to Array <seay@absyss.fr>
Chat Program (PERL), Many Errors.... (Realmz Mud Account)
Re: emacs? No thank you <rockwell@mcsjaz.shr.dec.com>
Re: extracting a pattern... <seay@absyss.fr>
Re: extracting a pattern... (Quixote Digital Typography)
Re: Hash + Regex (Jot Powers)
Help with sub-routine (Ranson)
Re: How do I find the system date/time? (Clay Irving)
Re: How do I find the system date/time? <seay@absyss.fr>
Re: I have a forking problems <dhayden@ford.com>
OraPerl Field Names <sdcote@lci.net>
Re: Perl as a C-TREE interface <boei@trifox.com>
Re: Reading in a file for use... <seay@absyss.fr>
server name <dannyl@computize.com>
Re: shell command "more" (M.J.T. Guy)
Shell Parameter Expansion - HELP!! <kccole@lucent.com>
Re: shift <seay@absyss.fr>
Re: Statistics for comp.lang.perl.misc <seay@absyss.fr>
Re: Syntax Question (SJK)
Digest Administrivia (Last modified: 8 Mar 97) (Perl-Users-Digest Admin)
----------------------------------------------------------------------
Date: Fri, 22 Aug 1997 18:00:47 +0200
From: Doug Seay <seay@absyss.fr>
Subject: Re: Assinging values of HASH in to Array
Message-Id: <33FDB7AF.305F2F6@absyss.fr>
Ajitesh Das wrote:
>
> All,
> I have a query...
> Is there any way to assign values ( NOT KEYS ) in to an array.
> whatta I want to mean
> something like that :
> @my_array = some_buildin_function_gets_values( %my_Hash );
> let me know if there is any
perldoc -f values
------------------------------
Date: 22 Aug 1997 08:34:44 -0700
From: dragon2@endo.mudservices.com (Realmz Mud Account)
Subject: Chat Program (PERL), Many Errors....
Message-Id: <Pine.LNX.3.95.970822112954.23083A-200000@endo.mudservices.com>
This message is in MIME format. The first part should be readable text,
while the remaining parts are likely unreadable without MIME-aware tools.
Send mail to mime@docserver.cac.washington.edu for more info.
---1815240981-473736584-872264036=:23083
Content-Type: TEXT/PLAIN; charset=US-ASCII
If someone knows how to fix these errors, can you please do so...as I
can't seem to fix them myself; so that is why I am asking the PERL
Programming World to help me?! Here are all the errors:
Literal @userdata now requires backslash at ./nuchat.pl line 12, within
string
Bare word found where operator expected at ./nuchat.pl line 38, near
"while ( -e
"lock_file"
(Might be a runaway multi-line "" string starting on line 12)
(Do you need to predeclare while?)
syntax error at ./nuchat.pl line 38, near "while ( -e "lock_file"
String found where operator expected at ./nuchat.pl line 42, near
"open(LF,""
(Might be a runaway multi-line "" string starting on line 38)
(Missing semicolon on previous line?)
String found where operator expected at ./nuchat.pl line 43, near "print
LF ""
(Might be a runaway multi-line "" string starting on line 42)
(Missing semicolon on previous line?)
Bare word found where operator expected at ./nuchat.pl line 43, near
"print LF "
Locked"
(Do you need to predeclare print?)
String found where operator expected at ./nuchat.pl line 80, near "$name
=~ s/%(
..)/pack(""
(Might be a runaway multi-line "" string starting on line 43)
(Missing semicolon on previous line?)
Literal @field now requires backslash at ./nuchat.pl line 43, within
string
Literal @udtemp now requires backslash at ./nuchat.pl line 43, within
string
It would be very nice if you could fix them, and then send the program
back to me in its fixed source code...thank you very much anyone who can
help me with this program.
---1815240981-473736584-872264036=:23083
Content-Type: TEXT/PLAIN; charset=US-ASCII; name="nuchat.pl"
Content-Transfer-Encoding: BASE64
Content-ID: <Pine.LNX.3.95.970822113356.23083B@endo.mudservices.com>
Content-Description:
IyEvdXNyL2Jpbi9wZXJsDQojDQojIFRoaXMgcHJvZ3JhbSB3YXMgd3JpdHRl
biBieSBNaWNoYWVsIExhdXpvbiAoYykgMTk5Ny4gIEFueSBxdWVzdGlvbnMg
DQojIG9yIGNvbW1lbnRzIHJlZ2FyZGluZyB0aGlzIHByb2dyYW0gYXJlIHdl
bGNvbWUsIHlvdSBtYXkgY29udGFjdCBtZSBieQ0KIyBlbWFpbDogY2U5NDBA
ZnJlZW5ldC50b3JvbnRvLm9uLmNhDQojDQojIElmIHlvdSBtYWtlIGFueSBj
aGFuZ2VzIHRvIHRoaXMgc291cmNlIGNvZGUsIHBsZWFzZSBlbWFpbCBtZSB3
aXRoIHRoZSANCiMgbmV3IHNvdXJjZSBjb2RlLi4uc28gSSBjYW4gc3R1ZHkg
aXQuDQojDQoNCiMgPT09PT09IENvbmZpZ3VyYXRpb24gVmFyaWFibGVzID09
PT09PQ0KJHByb2duYW1lID0gIm51Y2hhdC5wbCNDb21tbmV0czsgIyBSZXBs
YWNlIC5wbCB3aXRoIC5jZ2kgaWYgeW91ciBJU1AgdXNlcyB0aGUgLmNnaSBl
eHRlbnNpb24uIA0KJGJhc2V1cmwgPSAnaHR0cDovL3lvdXJpc3AuY29tL2Nn
aS1iaW4vJzsNCiRodG1sID0gMDsgIyBTZXQgdG8gMSBpZiBIVE1MIGlzIGFs
bG93ZWQgaW4gcG9zdGluZ3MuDQokbWF4bGluZXMgPSAxMDA7ICMgU2V0cyB0
aGUgc2l6ZSBvZiB0aGUgc3RhY2sNCiRhZG1pbl9uYW1lID0gJ1lvdXIgTmFt
ZSc7DQokYWRtaW5fZW1haWwgPSAnWW91ciBlbWFpbCBhZGRyZXNzJzsNCiRj
bXBzd2QgPSAnWW91ciBVbmlxdWUgSGFuZGxlJzsgIyBIYW5kbGUgZW50cnkg
d2hpY2ggZ2l2ZXMgQ2hhdE1hc3RlciBhY2Nlc3MNCiRkYXRhZmlsZSA9ICd1
c2VyZGF0YS5kYXQnOw0KJHJlc2V0X3RpbWUgPSA2MDA7ICMgNjAwIHNlY29u
ZHMgd2l0aG91dCB1cGRhdGUgYmVmb3JlIHNlc3Npb24gaXMgdGVybWluYXRl
ZA0KDQojDQojIEkgcHV0IGEgZmV3IG9mIHRoZSBDR0kgZW52aXJvbWVudCB2
YXJpYWJsZXMgaW4gdGhlaXIgb3duIHZhcmlhYmxlcw0KIyBmb3IgZWFzZSBv
ZiB1bmRlcnN0YW5kaW5nIGxhdGVyIG9uIGluIHRoZSBwcm9ncmFtLiAgQWxz
bywgSSBjcmVhdGUNCiMgYSB2YXJpYWJsZSAkdGltZSB3aGljaCByZWNvcmRz
IHRoZSBjdXJyZW50IHRpbWUgYW5kIGRhdGUuDQojDQokcmVmZXIgPSAkRU5W
e0hUVFBfUkVGRVJFUn07DQokaXAgPSAkRU5We1JFTU9URV9BRERSfTsNCiRi
cm93c2VybmFtZSA9ICRFTlZ7SFRUUF9VU0VSX0FHRU5UfTsNCmNob3AoJHRp
bWUgPSBgZGF0ZWApOw0KDQojDQojIFJlYWQgZGF0YWZpbGUgaW50byB0aGUg
QHVzZXJkYXRhIGFycmF5LCByZW1vdmUgdGVybWluYXRpbmcgbmV3bGluZXMN
CiMgZnJvbSBhbGwgYXJyYXkgZWxlbWVudHMuDQojDQoNCiMtLQ0Kd2hpbGUg
KCAtZSAibG9ja19maWxlIiApIHsNCiAgIHNsZWVwKDEpOw0KfQ0KIy0tLQ0K
b3BlbihMRiwiPiBsb2NrX2ZpbGUiKTsNCnByaW50IExGICJMb2NrZWQhXG4i
Ow0KY2xvc2UoTEYpOw0KY2htb2QgMDYwMCwgJ2xvY2tfZmlsZSc7DQojLS0t
DQpvcGVuKERGLCRkYXRhZmlsZSk7DQpjaG9wKEB1c2VyZGF0YSA9IDxERj4p
Ow0KY2xvc2UoREYpOw0KIy0tLQ0KdW5saW5rICdsb2NrX2ZpbGUnOw0KIy0t
LQ0KDQojDQojIFJlbW92ZSBhbGwgZWxlbWVudHMgb2YgQHVzZXJkYXRhIHdo
aWNoIGFyZSBwYXN0IHRoZWlyIGV4cGlyeSB0aW1lLg0KIw0KZm9yZWFjaCAk
dWQgKCBAdXNlcmRhdGEgKSB7DQogICBAZmllbGQgPSBzcGxpdCgvXHQvLCR1
ZCk7DQogICBwdXNoKEB1ZHRlbXAsJHVkKSBpZiAkZmllbGRbMl0gPiB0aW1l
Ow0KfQ0KQHVzZXJkYXRhID0gQHVkdGVtcDsNCnVuZGVmKEB1ZHRlbXApOw0K
DQojIFB1dHMgYWxsIFBPU1QgcXVlcnkgaW5mb3JtYXRpb24gdGhlIHZhcmlh
YmxlICRpbnB1dF9saW5lLg0KcmVhZChzdGRpbiwgJGlucHV0X2xpbmUsICRF
TlZ7Q09OVEVOVF9MRU5HVEh9KTsNCg0KIyBSZXBsYWNlIGFsbCAnKycgY29k
ZWQgc3BhY2VzIHdpdGggcmVhbCBzcGFjZXMuDQokaW5wdXRfbGluZSA9fiB0
ci8rLyAvOw0KDQojIENyZWF0ZXMgYXJyYXkgb2YgYWxsIGRhdGEgZmlsZXMg
aW4gJGlucHV0X2xpbmUgZnJvbSAmIHNlcGVyYXRlZCBpbmZvLg0KQGZpZWxk
cyA9IHNwbGl0KC9cJi8sJGlucHV0X2xpbmUpOw0KJGlucHV0X2xpbmUgPSAo
KTsgIyBGcmVlIHVwIG1lbW9yeS4NCg0KIw0KIyBEZWNvZGVzIEhFWCBpbmZv
IGZvciBlYWNoIG5hbWUvdmFsdWUgcGFpciBhbmQgcGxhY2VzIHBhaXJzIGlu
DQojICVpbnB1dCBhc3NvY2lhdGl2ZSBhcnJheS4NCiMNCmZvcmVhY2ggJGkg
KDAgLi4gJCNmaWVsZHMpIHsNCiAgICgkbmFtZSwkdmFsdWUpID0gc3BsaXQo
Lz0vLCRmaWVsZHNbJGldKTsNCiAgICRuYW1lID1+IHMvJSguLikvcGFjaygi
YyIsaGV4KCQxKSkvZ2U7DQogICAkdmFsdWUgPX4gcy8lKC4uKS9wYWNrKCJj
IixoZXgoJDEpKS9nZTsNCiAgIGlmICgkbmFtZSBuZSAnYmxvY2snKSB7DQog
ICAgICAkaW5wdXR7JG5hbWV9ID0gJHZhbHVlOw0KICAgfSBlbHNlIHsNCiAg
ICAgICRpbnB1dHskbmFtZX0gLj0gJHZhbHVlIC4gIiQ7IjsNCiAgIH0NCn0N
CmNob3AoJGlucHV0eydibG9jayd9KSBpZiBkZWZpbmVkKCRpbnB1dHsnYmxv
Y2snfSk7ICMgUmVtb3ZlIHRyYWlsaW5nICQ7DQoNCnByaW50ICJDb250ZW50
LXR5cGU6IHRleHQvaHRtbFxuXG4iOw0KDQojDQojIElmIHRoaXMgaXMgYSBm
aXJzdC10aW1lIGFjY2VzcyBhbmQgYW5vdGhlciB1c2VyIGlzIGZyb20gdGhl
IHNhbWUgSVAgYW5kIHVzaW5nDQojIHRoZSBzYW1lIGJyb3dzZXIgYXMgdGhp
cyB1c2VyLCBwcmV2ZW50IHRoaXMgdXNlciBmcm9tIHVzaW5nIHRoZSBjaGF0
IHJvb20uDQojDQppZiAoIWRlZmluZWQoJGlucHV0eydpZCd9KSkgew0KDQoj
DQojICJQb3N0dWxhdGUiIGFuIElEIyBmb3IgdGhpcyBuZXcgdXNlci4NCiMN
CiAgICgkdGVtcF9pZCA9ICRpcCkgPX4gcy9cLi8vZzsNCiAgIHN1YnN0cigk
dGVtcF9pZCwkWywzKSA9ICcnOyAjIFJlbW92ZXMgZmlyc3QgMyBkaWdpdHMg
b2YgSVAgaW5mby4NCiAgIGZvciAkaSAoIDAgLi4gKGxlbmd0aCgkYnJvd3Nl
cm5hbWUpLTEpICkgew0KICAgICAgJHRlbXBfaWQgKz0gb3JkKHN1YnN0cigk
YnJvd3Nlcm5hbWUsJFsrJGksMSkpOw0KICAgfSAjIEFkZHMgYnJvd3NlciBp
bmZvIHRvIGVuZCBvZiB0aGUgc3RyaW5nLg0KDQojDQojIENvbXBhcmVzIHRo
ZSAicG9zdHVsYXRlZCBpZCMiIGFnYWluc3QgdGhvc2UgaWQjcyBmb3VuZCBp
biB0aGUgQHVzZXJkYXRhDQojIGFycmF5Li4uIElmIGl0IGZpbmRzIGEgbWF0
Y2gsIHRlcm1pbmF0ZSB0aGlzIGxvZ2luLg0KIw0KDQogICBmb3JlYWNoIChA
dXNlcmRhdGEpIHsNCiAgICAgIEBmaWVsZCA9IHNwbGl0KC9cdC8pOw0KICAg
ICAgc3Vic3RyKCRmaWVsZFswXSxpbmRleCgkZmllbGRbMF0sJy4nKSkgPSAn
JzsNCiAgICAgIGlmICggJGZpZWxkWzBdIGVxICR0ZW1wX2lkICkgew0KICAg
ICAgICAgJmlkX2NvbmZsaWN0X2Vycm9yOw0KICAgICAgfQ0KICAgfQ0KDQoj
DQojIElEIyBjaGVja3Mgb3V0IG9rYXksIHNvIGFkZCBvbiBQSUQgaW5mbyBh
bmQgc3RvcmUgaW4gJWlucHV0Lg0KIw0KDQogICAkaW5wdXR7J2lkJ30gPSAk
dGVtcF9pZCAuICIuJCQiOw0KfSANCg0KIw0KIyBEZXRlcm1pbmUgd2hldGhl
ciBvciBub3QgdGhlIGN1cnJlbnQgdXNlciBpcyBDaGF0TWFzdGVyLg0KIw0K
aWYgKCAoJGlucHV0eydoYW5kbGUnfSBlcSAkY21wc3dkICkgJiYgKCEoJGlu
cHV0eydpZCd9ID1+IC9DaGF0TWFzdGVyLykpICkgew0KICAgJGNtbW9kZSA9
IDE7DQp9IGVsc2lmICggKCRpbnB1dHsnaGFuZGxlJ30gZXEgJ0NoYXRNYXN0
ZXInICkgJiYgKCRpbnB1dHsnaWQnfSA9fiAvQ2hhdE1hc3Rlci8pICkgew0K
ICAgJGNtbW9kZSA9IDE7DQp9DQoNCiMNCiMgSWYgdGhlIGN1cnJlbnQgdXNl
ciBpcyB0aGUgQ2hhdE1hc3RlciwgYWRqdXN0IHVzZXIncyBJRCMgaW4gYm90
aA0KIyAkaW5wdXR7J2lkJ30gdmFyaWFibGUgYW5kIGluIHRoZSBAdXNlcmRh
dGEgYXJyYXkuDQojDQppZiAoJGNtbW9kZSkgew0KICAgJGlucHV0eydoYW5k
bGUnfSA9ICdDaGF0TWFzdGVyJzsNCiAgICRpZCA9ICRpbnB1dHsnaWQnfTsN
CiAgIGlmICghKCRpZCA9fiAvQ2hhdE1hc3Rlci8pKSB7DQogICAgICBzdWJz
dHIoJGlucHV0eydpZCd9LCRbLDApID0gJ0NoYXRNYXN0ZXIuJzsNCiAgIH0N
CiAgIGZvcmVhY2ggKCBAdXNlcmRhdGEgKSB7DQogICAgICBAZmllbGQgPSBz
cGxpdCgvXHQvKTsNCiAgICAgIGlmICghKCRmaWVsZFswXSA9fiAvQ2hhdE1h
c3Rlci8pKSB7DQogICAgICAgICBpZiAoICRmaWVsZFswXSBlcSAkaWQgKSB7
DQoJICAgIHN1YnN0cigkXywkWywwKSA9ICdDaGF0TWFzdGVyLic7DQoJIH0N
CiAgICAgIH0NCiAgIH0NCn0NCg0KIw0KIyBHaXZlIGFuIGVycm9yIG1lc3Nh
Z2UgaWYgc29tZW9uZSB0cmllcyB0byBiZSBDaGF0TWFzdGVyIHdpdGhvdXQg
dGhlDQojIGNvcnJlY3QgcGFzc3dvcmQuDQojDQppZiAoICgkaW5wdXR7J2hh
bmRsZSd9IGVxICdDaGF0TWFzdGVyJyApICYmICghKCRpbnB1dHsnaWQnfSA9
fiAvQ2hhdE1hc3Rlci8pKSApIHsNCiAgICZjaGF0bWFzdGVyX2Vycm9yOw0K
fQ0KDQojDQojIFRoZSBmb2xsb3dpbmcgbGluZSB0cmFwcyBmb3JtcyBiZWlu
ZyBzdWJtaXR0ZWQgZnJvbSBpbnZhbGlkIGxvY2F0aW9ucy4NCiMNCg0KJnBy
aW50X2Vycm9yIGlmICggKCEoJHJlZmVyID1+IC8kYmFzZXVybC8pKSAmJiBk
ZWZpbmVkKCRpbnB1dHsnaGFuZGxlJ30pICk7DQoNCiMNCiMgSWYgSFRNTCBp
cyBkaXNhbGxvd2VkLCBnbyB0byB0aGUgcmVtb3ZlX2h0bWwgc2VjdGlvbi4u
LmV4Y2VwdCBmb3INCiMgdGhlIENoYXRNYXN0ZXIuDQojDQomcmVtb3ZlX2h0
bWwgaWYgKCAoISgkaHRtbCkpICYmICghKCRjbW1vZGUpKSApOw0KDQomcHJp
bnRfaGVhZGVyOw0KJnByaW50X2Zvcm07DQomdXBkYXRlX3N0YWNrIGlmICRp
bnB1dHsnY29tbWVudHMnfSBuZSAnJzsNCiZwcmludF9zdGFjazsNCiZwcmlu
dF9mb290ZXI7DQoNCiZ1cGRhdGVfZGF0YWZpbGU7DQoNCmV4aXQgMDsNCg0K
c3ViIHByaW50X2Vycm9yIHsNCiAgIHByaW50IDw8RU5EOw0KPEhUTUw+PEhF
QUQ+PFRJVExFPkludmFsaWQgU3VibWlzc2lvbjwvVElUTEU+PC9IRUFEPg0K
PEJPRFk+DQo8UD4NClRoZSBVUkwgb2YgdGhlIHBhZ2Ugd2hpY2ggc3VibWl0
dGVkIHRoZSBmb3JtIHdoaWNoIGhhcyB0aGlzIENHSSBwcm9ncmFtDQphcyBp
dHMgYWN0aW9uIHdhcyBub3QgdmFsaWQuICBQbGVhc2UgZ28gdG8NCjxBIEhS
RUY9JGJhc2V1cmwvJHByb2duYW1lPiRiYXNldXJsLyRwcm9nbmFtZTwvQT4g
dG8NCmxlZ2FsbHkgYWNjZXNzIHRoaXMgQ0dJIHByb2dyYW0uDQo8L0JPRFk+
PC9IVE1MPg0KRU5EDQogICBleGl0IDE7DQp9DQoNCnN1YiBjaGF0bWFzdGVy
X2Vycm9yIHsNCiAgIHByaW50IDw8RU5EOw0KPEhUTUw+PEhFQUQ+PFRJVExF
PkludmFsaWQgdXNlIG9mIENoYXRNYXN0ZXI8L1RJVExFPC9IRUFEPg0KPEJP
RFk+DQo8UD4NCkFuIGF0dGVtcHQgd2FzIG1hZGUgdG8gYWNjZXNzIENoYXRN
YXN0ZXIgbW9kZSBpbGxlZ2FsbHkuDQo8L0JPRFk+PC9IVE1MPg0KRU5EDQog
ICBleGl0IDE7DQp9DQoNCnN1YiBpZF9jb25mbGljdF9lcnJvciB7DQogICBw
cmludCA8PEVORDsNCjxIVE1MPjxIRUFEPjxUSVRMRT5NdWx0aXBsZSBMb2dp
biBTZXNzaW9ucyBub3QgYWxsb3dlZDwvVElUTEU+PC9IRUFEPg0KPEJPRFk+
DQo8UD4NCllvdSBtYXkgb25seSBwb3NzZXMgb25lIGxvZ2luIHNlc3Npb24g
YXQgYSB0aW1lLg0KPFA+DQpJdCBpcyAoanVzdCBhIGxpdHRsZSkgcG9zc2li
bGUgdGhhdCBzb21lb25lIGVsc2UgaXMgdXNpbmcgeW91ciBleGFjdCBkYXRh
DQpwb3J0IGluZm9ybWF0aW9uIHJpZ2h0IG5vdy4gIElmIHRoaXMgaXMgdGhl
IGNhc2UsIHlvdSdsbCBoYXZlIHRvIHdhaXQgZm9yDQp0aGVtIHRvIGZpbmlz
aCB0aGVpciBzZXNzaW9uIGluIHRoaXMgY2hhdCByb29tLg0KPC9CT0RZPjwv
SFRNTD4NCkVORA0KICAgZXhpdCAxOw0KfQ0KDQpzdWIgcmVtb3ZlX2h0bWwg
ew0KDQojDQojIFJlbW92ZSBhbGwgY2hhcmFjdGVycyBiZXR3ZWVuIDwgYW5k
ID4sIGluY2x1c2l2ZQ0KIyAoIG9yLCBiZXR3ZWVuIDwgYW5kIEVPTCBvciBs
aW5lIGJlZ2lubmluZyBhbmQgPiApDQojDQogICBmb3JlYWNoICgga2V5cyAl
aW5wdXQgKSB7DQogICAgICAkaW5wdXR7JF99ID1+IHMvPChbXj5dfFxuKSo+
Ly9nOw0KICAgfQ0KfQ0KDQpzdWIgcHJpbnRfaGVhZGVyIHsNCg0KICAgcHJp
bnQgPDxFTkQ7DQo8SFRNTD4NCjxIRUFEPjxUSVRMRT5NeSBGaXJzdCBJbXBy
ZXNzaXZlIENoYXQgUm9vbTwvVElUTEU+PC9IRUFEPg0KPEJPRFk+DQo8Q0VO
VEVSPg0KPFA+PEZPTlQgU0laRT0rMj48Qj4NCk15IEZpcnN0IENoYXQgUm9v
bQ0KPC9CPjwvRk9OVD4NCjxCUj48QlI+DQo8Rk9OVCBTSVpFPS0xPjxCPjxJ
Pg0KVGhpcyBjaGF0IHJvb20gaGFzIG1vcmUgZmVhdHVyZXMgdGhhbiBpdHMg
cHJlZGVjZXNzb3IuPEJSPiAgKElmIGl0IGhhZCBhIHByZWRlY2Vzc29yLikg
IEVuam95ISA8L0k+PC9CPjwvRk9OVD4NCjwvQ0VOVEVSPg0KPEJSPjxCUj4N
CkVORA0KDQp9DQoNCnN1YiBwcmludF9mb3JtIHsNCg0KIw0KIyBJZiB0aGlz
IGlzIHRoZSBmaXJzdCBhY2Nlc3Mgb2YgYSBjaGF0dGluZyBzZXNzaW9uLCBj
cmVhdGUgdGhlIElEIw0KIyBhbmQgcHV0IGEgbWVzc2FnZSBpbnRvIHRoZSBo
YW5kbGUgc3RyaW5nLg0KIw0KICAgaWYgKCEoZGVmaW5lZCgkaW5wdXR7J2lk
J30pKSkgew0KICAgICAgJGlucHV0eydoYW5kbGUnfSA9ICdQdXQgeW91ciBo
YW5kbGUgaGVyZSEnOw0KICAgfQ0KDQojDQojIElmIHRoZSBDaGF0TWFzdGVy
IGhhcyBsZWZ0IENoYXRNYXN0ZXIgbW9kZSwgc3RyaXAgdGhlIHNwZWNpYWwg
c3RyaW5nDQojIGZyb20gSUQjIGluIGJvdGggJGlucHV0eydpZCd9IGFuZCBp
biB0aGUgQHVzZXJkYXRhIGFycmF5Lg0KIw0KICAgaWYgKCAoISgkY21tb2Rl
KSkgJiYgKCRpbnB1dHsnaWQnfSA9fiAvQ2hhdE1hc3Rlci8pICkgew0KICAg
ICAgc3Vic3RyKCRpbnB1dHsnaWQnfSwkWywxMSkgPSAnJzsNCiAgIH0NCiAg
IGZvcmVhY2ggKCBAdXNlcmRhdGEgKSB7DQogICAgICBzdWJzdHIoJF8sJFss
MTEpID0gJycgaWYgJF8gPX4gL0NoYXRNYXN0ZXI7DQogICB9DQoNCiAgIHBy
aW50ICI8Rk9STSBNRVRIT0Q9UE9TVCBBQ1RJT049JGJhc2V1cmwvJHByb2du
YW1lPlxuIjsNCg0KICAgZm9yZWFjaCAoIEB1c2VyZGF0YSApIHsNCiAgICAg
IEBmaWVsZCA9IHNwbGl0KC9cdC8pOw0KICAgICAgdW5kZWYoJGNoZWNrKTsN
CiAgICAgIGlmICgkZmllbGRbMF0gbmUgJGlucHV0eydpZCd9ICkgew0KICAg
ICAgICAgJGNoZWNrID0gJyBDSEVDS0VEJyBpZiAmYmxvY2tlZCgkZmllbGRb
MF0pOw0KCSBwcmludCAiPElOUFVUIFRZUEU9Y2hlY2tib3ggTkFNRT1ibG9j
ayBWQUxVRT0kZmllbGRbMF0kY2hlY2s+IjsNCgkgcHJpbnQgIiA8Rk9OVCBT
SVpFPS0xPjxJPmJsb2NrICRmaWVsZFsxXTwvST48L0ZPTlQ+PEJSPlxuIjsN
CiAgICAgIH0NCiAgIH0NCg0KICAgcHJpbnQgPDxFTkQ7DQo8UFJFPg0KPEI+
TmFtZSAgICAgOjwvQj4gPElOUFVUIFRZUEU9InRleHQiIFNJWkU9NDAgTkFN
RT0iaGFuZGxlIiBNQVhMRU5HVEg9IjQwIiBWQUxVRT0iJGlucHV0eydoYW5k
bGUnfSI+DQo8SU5QVVQgVFlQRT0iaGlkZGVuIiBOQU1FPSJpZCIgVkFMVUU9
IiRpbnB1dHsnaWQnfSI+DQo8QSBOQU1FPSJDb21tZW50cyI+PEI+Q29tbWVu
dHMgOjwvQj4NCjxURVhUQVJFQSBOQU1FPSJjb21tZW50cyIgUk9XUz0zIENP
TFM9NTA+PC9URVhUQVJFQT48L0E+DQpUbzogPFNFTEVDVCBOQU1FPSJwb3N0
X3RvIj4NCjxPUFRJT04gVkFMVUU9ImV2ZXJ5b25lIj5FdmVyeW9uZTwvT1BU
SU9OPg0KRU5EDQogICBmb3JlYWNoICggQHVzZXJkYXRhICkgew0KICAgICAg
QGZpZWxkID0gc3BsaXQoL1x0Lyk7DQogICAgICBpZiAoICRmaWVsZFswXSBu
ZSAkaW5wdXR7J2lkJ30gKSB7DQogICAgICAgICBwcmludCAiPE9QVElPTiBW
QUxVRT1cIiRmaWVsZFswXVwiPiRmaWVsZFsxXTwvT1BUSU9OPlxuIjsNCiAg
ICAgIH0NCiAgIH0NCiAgIHByaW50ICI8L1NFTEVDVD5cbiI7DQogICBwcmlu
dCA8PEVORDsNCjwvUFJFPg0KPEJSPg0KPElOUFVUIFRZUEU9InN1Ym1pdCIg
VkFMVUU9IlN1Ym1pdCBDb21tZW50cyBvciBVcGRhdGUgUm9vbSI+DQo8SU5Q
VVQgVFlQRT0icmVzZXQiIFZBTFVFPSJDbGVhciBGb3JtIj4NCjwvRk9STT4N
CkVORA0KICAgcHJpbnQgIkN1cnJlbnQgdGltZTogJHRpbWVcbiI7DQp9DQoN
CnN1YiBwcmludF9zdGFjayB7DQoNCiAgICAkcHJpbnRlZF9saW5lcyA9IDA7
DQoNCiMNCiMgUmVmZXJyaW5nIHRvIHRoZSBuZXdwb3N0cy8gZGlyZWN0b3J5
LCBscyAtMXQgKl9wb3N0cyB3aWxsIGZvcmNlIGEgMSBjb2x1bW4NCiMgb3V0
cHV0LCBvcmdhbml6ZWQgbW9zdCByZWNlbnQgZmlsZSB0byBsZWFzdCByZWNl
bnQsIG9mIGFsbCAucG9zdCBlbnRyaWVzLg0KIw0KICAgY2hvcChAcG9zdHMg
PSBgbHMgLTF0IG5ld3Bvc3RzLypfcG9zdGApOw0KICAgZm9yZWFjaCAoIEBw
b3N0cyApIHsNCg0KIw0KIyBSZWNsYWltIElEIyBmcm9tIGZpbGVuYW1lIGFu
ZCB0ZXN0IHRvIHNlZSBpZiB0aGF0IElEIyBpcyBibG9ja2VkIGJ5IGVpdGhl
cg0KIyB0aGUgY3VycmVudCB1c2VyIG9yIHRoZSBDaGF0TWFzdGVyLiAgQWxz
bywgc2tpcCBwb3N0aW5nIGlmIGl0J3Mgbm90DQojICJhZGRyZXNzZWQiIHRv
IHRoaXMgdXNlci4NCiMNCiAgICAgIEBmaWVsZCA9IHNwbGl0KC9cXy8pOw0K
ICAgICAgaWYgKCAkZmllbGRbMl0gbmUgJ2V2ZXJ5b25lJyApIHsNCiAgICAg
ICAgIG5leHQgaWYgJGZpZWxkWzJdIG5lICRpbnB1dHsnaWQnfTsgIyBTa2lw
IGlmIG5vdCBmb3IgbXkgSUQjLg0KICAgICAgfQ0KICAgICAgbmV4dCBpZiAm
YmxvY2tlZCgkZmllbGRbMF0pOyAjIElmIGJsb2NrZWQsIHNraXAgdGhpcyBw
b3N0aW5nLg0KICAgICAgbmV4dCBpZiAmY21fYmxvY2tlZCgkZmllbGRbMF0p
OyAjIElmIGJsb2NrZWQsIHNraXAgdGhpcyBwb3N0aW5nLg0KDQojDQojIFBy
aW50cyB2YWxpZCBlbnRyaWVzLCBjbGVhcnMgb2xkIG9uZXMgZnJvbSB0aGUg
c3RhY2suDQojDQogICAgICBpZiAoICRwcmludGVkX2xpbmVzIDwgJG1heGxp
bmVzICkgew0KCSBvcGVuKFBPU1QsJF8pOw0KCSB3aGlsZSAoICR0aGlzX2xp
bmUgPSA8UE9TVD4gKSB7DQoJICAgIHByaW50ICR0aGlzX2xpbmU7DQoJICAg
ICRwcmludGVkX2xpbmVzKys7DQoJIH0NCgkgY2xvc2UoUE9TVCk7DQogICAg
ICB9IGVsc2Ugew0KCSBzeXN0ZW0oInJtICRfIik7ICMgQ2xlYXIgb2xkIGVu
dHJpZXMgZnJvbSB0aGUgc3RhY2suDQogICAgICB9DQogICB9DQp9DQoNCnN1
YiB1cGRhdGVfc3RhY2sgew0KICANCiAgICRwb3N0X25hbWUgPSAkaW5wdXR7
J2lkJ30gLiAnX3RvXycgLiAkaW5wdXR7J3Bvc3RfdG8nfSAuICdfcG9zdCc7
DQogICAkaWRfc25pcHBldCA9IHN1YnN0cigkaW5wdXR7J2lkJ30sLTIsMik7
DQogICBvcGVuKFBPU1QsIj4gbmV3cG9zdHMvJHBvc3RfbmFtZSIpOw0KDQoj
IEFsbG93cyB1c2VycyB0byBjb250cm9sIGxpbmUgYnJlYWtzIHdpdGhvdXQg
YWNjZXNzIHRvIEhUTUwgYnkgc2ltcGx5DQojIGhpdHRpbmcgRU5URVIgaW4g
dGhlIGNvbW1lbnRzIHRleHRhcmVhLg0KICAgJGlucHV0eydjb21tZW50cyd9
ID1+IHMvXGNNXG4vPEJSPlxuL2c7DQoNCiAgIHByaW50IFBPU1QgPDxFTkQ7
DQo8SFI+DQo8IS0tICRpbnB1dHsnaGFuZGxlJ30gLS0+DQo8IS0tIElEIzog
JGlucHV0eydpZCd9IC0tPg0KPFRBQkxFIFdJRFRIPTEwMCU+PFRSPjxURCBB
TElHTj1MRUZUIFZBTElHTj1DRU5URVI+DQo8Qj4kaW5wdXR7J2hhbmRsZSd9
PC9CPiA8Rk9OVCBTSVpFPS0yPigkaWRfc25pcHBldCk8L0ZPTlQ+PC9URD4N
CjxURCBBTElHTj1SSUdIVCBWQUxJR049Q0VOVEVSPjxJPiR0aW1lPC9JPjwv
VEQ+PC9UUj48L1RBQkxFPg0KRU5EDQoNCiAgIGlmICggJGlucHV0eydwb3N0
X3RvJ30gbmUgJ2V2ZXJ5b25lJyApIHsNCiAgICAgIHByaW50IFBPU1QgIjxG
T05UIFNJWkU9KzE+PEJSPlByaXZhdGUgTWVzc2FnZTwvQj48L0ZPTlQ+XG4i
Ow0KICAgfQ0KICAgcHJpbnQgUE9TVCAiJGlucHV0eydjb21tZW50cyd9IjsN
Cg0KICAgY2xvc2UoUE9TVCk7DQp9DQoNCnN1YiBwcmludF9mb290ZXIgew0K
DQogICBwcmludCA8PEVORDsNCjxIUj4NCjxQPjxGT05UIFNJWkU9LTE+PEI+
VGhpcyBjaGF0IHJvb20gaXMgbWFpbnRhaW5lZCBieSA8QSBIUkVGPSJtYWls
dG86JGFkbWluX2VtYWlsIj4kYWRtaW5fbmFtZTwvQT48L0I+PC9GT05UPg0K
PC9CT0RZPg0KPC9IVE1MPg0KRU5EDQp9DQoNCiMNCiMgVGhpcyByb3V0aW5l
IGNoZWNrcyB0byBzZWUgd2hldGhlciBvciBub3QgdGhlIENoYXRNYXN0ZXIg
aXMgYmxvY2tpbmcgYQ0KIyBnaXZlbiBpbmRpdmlkdWFsLg0KIw0Kc3ViIGNt
X2Jsb2NrZWQgew0KDQogICAoJHRlbXBfaWQpID0gQF87DQoNCiAgIGZvcmVh
Y2ggKCBAdXNlcmRhdGEgKSB7DQogICAgICBAZmllbGQgPSBzcGxpdCgvXHQv
KTsNCiAgICAgIGlmICggKCR0ZW1wX2lkIGVxICRmaWVsZFswXSkgJiYgKCRm
aWVsZFszXSBlcSAnQkxPQ0tFRCcpICkgew0KICAJIHJldHVybiAxOw0KICAg
ICAgfQ0KICAgfQ0KDQogICByZXR1cm4gMDsNCn0NCg0KIw0KIyBUaGlzIHJv
dXRpbmUgcmV0dXJucyB0cnVlIGlmIHRoZSBJRCMgcGFzc2VkIHRvIGl0IGlz
IGZvdW5kIHdpdGhpbiB0aGUNCiMgJGlucHV0eydibG9jayd9IHN0cmluZy4N
CiMNCnN1YiBibG9ja2VkIHsNCg0KICAgKCR0ZW1wX2lkKSA9IEBfOw0KDQoj
DQojIElmIHRoZSB1c2VyIGlzbid0IGJsb2NraW5nIGFueW9uZSwgcmV0dXJu
IGZhbHNlLg0KIw0KICAgcmV0dXJuIDAgaWYgJGlucHV0eydibG9jayd9IGVx
ICcnOw0KDQojDQojIENoZWNrIGZvciBhIG1hdGNoIGJldHdlZW4gdGhlIElE
IyBiZWluZyBjaGVja2VkIHVwIG9uIGFuZCB0aGUgbGlzdCBvZg0KIyBibG9j
a2VkIElEI3MuICBJZiB0aGVyZSBpcyBhIG1hdGNoLCByZXR1cm4gdHJ1ZS4N
CiMNCiAgIEBibG9ja3MgPSBzcGxpdCgvJDsvLCRpbnB1dHsnYmxvY2snfSk7
DQogICBmb3JlYWNoICggQGJsb2NrcyApIHsNCiAgICAgIHJldHVybiAxIGlm
ICR0ZW1wX2lkIGVxICRfOw0KICAgfQ0KDQogICByZXR1cm4gMDsNCn0NCg0K
c3ViIHVwZGF0ZV9kYXRhZmlsZSB7DQoNCiMNCiMgRG9uJ3QgcHJvY2VlZCB3
aGlsZSAkZGF0YWZpbGUgaXMgbG9ja2VkLg0KIw0KICAgd2hpbGUgKCAtZSAn
bG9ja19maWxlJyApIHsNCiAgICAgIHNsZWVwKDEpOw0KICAgfQ0KDQojDQoj
IEVuYWJsZSBsb2NraW5nIG1lY2hhbmlzbS4NCiMNCiAgIG9wZW4oTEYsIj4g
bG9ja19maWxlIik7DQogICBwcmludCBMRiAiTG9ja2VkIVxuIjsNCiAgIGNs
b3NlKExGKTsNCiAgIGNobW9kIDA2MDAsICdsb2NrX2ZpbGUnOw0KDQogICBm
b3JlYWNoICggQHVzZXJkYXRhICkgew0KIw0KIyBJZiB0aGUgcGFydGljdWxh
ciBlbGVtZW50IGluIHRoZSBAdXNlcmRhdGEgYXJyYXkgcGVydGFpbnMgdG8g
dGhpcyB1c2VyLA0KIyB1cGRhdGVzIHRoaXMgdXNlcidzIGV4cGlyeSB0aW1l
IGluZm8gKGFuZCBoYW5kbGUsIHNpbmNlIHRoYXQgdG9vIG1pZ2h0DQojIGNo
YW5nZS4pDQojDQogICAgICBAZmllbGQgPSBzcGxpdCgvXHQvKTsNCiAgICAg
IGlmICgkZmllbGRbMF0gZXEgJGlucHV0eydpZCd9KSB7DQogICAgICAgICAk
Zm91bmQgPSAxOw0KICAgICAgICAgJGZpZWxkWzJdID0gdGltZSArICRyZXNl
dF90aW1lOw0KICAgICAgICAgJGZpZWxkWzFdID0gJGlucHV0eydoYW5kbGUn
fTsNCiAgICAgIH0NCiMNCiMgSWYgY3VycmVudCB1c2VyIGlzIHRoZSBDaGF0
TWFzdGVyLCB3cml0ZSBhcHByb3ByaWF0ZSBibG9ja2luZyBpbmZvIGludG8N
CiMgQHVzZXJkYXRhIGFycmF5Lg0KIw0KICAgICAgaWYgKCRjbW1vZGUpIHsN
CiAgICAgICAgIGlmICggJGZpZWxkWzBdID1+IC8kaW5wdXR7J2Jsb2NrJ30v
ICkgew0KCSAgICBpZiAoJCNmaWVsZCA9PSAyKSB7cHVzaChAZmllbGQsJ0JM
T0NLRUQnKTsgfQ0KICAgICAgICAgfQ0KICAgICAgfQ0KICAgICAgJF8gPSBq
b2luKCJcdCIsQGZpZWxkKTsNCiAgIH0NCg0KIw0KIyBJZiB0aGlzIGlzIHRo
ZSBmaXJzdCB0aW1lIGEgdXNlciBpcyBhY2Nlc3NpbmcgdGhlIGNoYXQgc2l0
ZSwgYWRkIGEgbmV3DQojIGVudHJ5IHRvIHRoZSB1c2VyIGRhdGEgZmlsZSAo
dmlhIHRoZSBAdXNlcmRhdGEgYXJyYXkpIHRvIHRoYXQgZWZmZWN0Lg0KIw0K
ICAgaWYgKCEoJGZvdW5kKSkgew0KICAgICAgcHVzaChAdXNlcmRhdGEsam9p
bigiXHQiLCRpbnB1dHsnaWQnfSwkaW5wdXR7J2hhbmRsZSd9LHRpbWUrJHJl
c2V0X3RpbWUpKTsNCiAgIH0NCg0KIw0KIyBSZXdyaXRlIGRhdGFmaWxlIHdp
dGggbmV3IGluZm8gb24gZXhwaXJ5IHRpbWUgYW5kIHBvc3NpYmx5IGJsb2Nr
aW5nIGluZm8uDQojDQogICBvcGVuKERGLCI+ICRkYXRhZmlsZSIpOw0KICAg
Zm9yZWFjaChAdXNlcmRhdGEpIHsNCiAgICAgIHByaW50IERGICIkX1xuIjsN
CiAgIH0NCiAgIGNsb3NlKERGKTsNCg0KICAgdW5saW5rICdsb2NrX2ZpbGUn
Ow0KfQ0KICAgICAgDQo=
---1815240981-473736584-872264036=:23083--
------------------------------
Date: Fri, 22 Aug 1997 12:03:25 -0500
From: dave rockwell <rockwell@mcsjaz.shr.dec.com>
Subject: Re: emacs? No thank you
Message-Id: <33FDC65D.B8F43CF1@mcsjaz.shr.dec.com>
Kevin,
pretty compelling case I'd say,
you have more patience that most....
Chris Nandor wrote:
> A Microsoft employee must have written it.
I doubt this very much....
------------------------------
Date: Fri, 22 Aug 1997 17:01:48 +0200
From: Doug Seay <seay@absyss.fr>
Subject: Re: extracting a pattern...
Message-Id: <33FDA9DC.59DB9561@absyss.fr>
Joe Shaw wrote:
>
> I'm wondering if anyone could help me with a problem I'm having. I need
> to extract an IP address from a string, but there is a ton of info in the
> line. I'm thinking about just loading every character into an array and
> then removing all the white space, then the letters. This seems like the
> wrong way to do it, and I'm still stuck with the problem of trying to
> extract the IP address. Anyone know of a more efficient way of doing it?
>
> an example of the lines I'm trying to get the information out of it
> follow:
>
> Apr 13 15:39:08 propaghandi pppd[478]: local IP address 153.36.194.204
> Apr 13 15:39:08 propaghandi pppd[478]: remote IP address 207.76.48.25
Doing what you say isn't enough. Removeing letters and whitespace still
leaves the pid, the time and date in addition to the ip addr that you
want.
if ( $line =~ m/(\d\d\d\.\d\d\d.\d\d\d\.\d\d\d)$/ )
{ $ip_addr = $1; }
will this do the trick? I just looks for ddd.ddd.ddd.ddd at the end of
a line. If it finds it, the match is in $1.
- doug
------------------------------
Date: 22 Aug 1997 08:56:58 -0700
From: quixote@shell2.bayarea.net (Quixote Digital Typography)
Subject: Re: extracting a pattern...
Message-Id: <5tkcsa$ef6@shell2.bayarea.net>
In article <33FDA9DC.59DB9561@absyss.fr>, Doug Seay <seay@absyss.fr> wrote:
>> I'm wondering if anyone could help me with a problem I'm having. I need
>> to extract an IP address from a string, but there is a ton of info in the
>> line. I'm thinking about just loading every character into an array and
>> then removing all the white space, then the letters. This seems like the
>> wrong way to do it, and I'm still stuck with the problem of trying to
>> extract the IP address. Anyone know of a more efficient way of doing it?
>> an example of the lines I'm trying to get the information out of it
>> follow:
>> Apr 13 15:39:08 propaghandi pppd[478]: local IP address 153.36.194.204
>> Apr 13 15:39:08 propaghandi pppd[478]: remote IP address 207.76.48.25
>Doing what you say isn't enough. Removeing letters and whitespace still
>leaves the pid, the time and date in addition to the ip addr that you
>want.
>if ( $line =~ m/(\d\d\d\.\d\d\d.\d\d\d\.\d\d\d)$/ )
> { $ip_addr = $1; }
>will this do the trick? I just looks for ddd.ddd.ddd.ddd at the end of
>a line. If it finds it, the match is in $1.
This won't even handle the example lines since all four components of
the IP address must now be three digits.
A better regexp would be
/(\d\d?\d?\.\d\d?\d?\.\d\d?\d?\.\d\d?\d?)$/
-dh
--
Don Hosek dhosek@quixote.com Quixote Digital Typography
708-788-1501 fax: 708-788-1530 orders: 800-810-3311
For information about SERIF: THE MAGAZINE OF TYPE & TYPOGRAPHY,
http://www.quixote.com/serif/ or mail serif-info@quixote.com
------------------------------
Date: 22 Aug 1997 16:03:47 GMT
From: news@bofh.com (Jot Powers)
Subject: Re: Hash + Regex
Message-Id: <5tkd93$a2k$1@gazette.corp.medtronic.com>
In article <f5iit5.4ig.ln@localhost>, Tad McClellan wrote:
>Jot Powers (news@bofh.com) wrote:
>: In article <slrn5vp50a.2h8.sami@d246a.mtalo.ton.tut.fi>, Sami Sandqvist wrote:
>: >On 20 Aug 1997 21:30:55 GMT, Jot Powers <news@bofh.com> wrote:
>: >>If I were to make a guess, I'd guess that your hash value has special
>: >>characters (say a /) that make it break. Observe:
>
>: And I said if his hash was "something/something" it might
> ^^^^^^^^
>: cause a problem.
> ^^^^^^^^^^^^^^^
>
>It most surely does *not* create a problem.
Yep, you're right. Which is why I said might. :)
>: and then I tested the supposition
>: by using # as the separator and making sure that # was in my
>: hash, and it didn't break.
>
>: Then, the last lines of my post (which you cut out) said:
>
>: So, looks like you have some other problem. You should provide
>: the smallest example of code showing your problem and an example
>: of the data.
>
>: (BTW: I believe Mike Stok probably answered this correctly by
>: figuring out that the error message was probably a missing ; on
>: the line before, but since the poster didn't provide that, Mike
>: went above and beyond).
>
>: So, where did I confuse someone?
> ^^^^^^^^^^^^^^^^^^^^^^^^^^^
>
>You said that having a slash in the scalar was a problem, when
>it no bearing whatsoever...
I said it _might_ be a problem, and then showed in an example
that it wasn't and said he needed to provide more information.
I can see how someone might get confused though. Guess
I'll go back to lurking for a while on the non-obvious ones. :)
-Jot
--
Jot Powers news@bofh.com
Unix System Administrator
"Sometimes you just have to grab the bull by the tail and face the situation."
------------------------------
Date: 22 Aug 1997 15:50:43 GMT
From: ranson@infoave.net (Ranson)
Subject: Help with sub-routine
Message-Id: <5tkcgj$n9p@news1.infoave.net>
Greetings, I have written a shoping cart program for a friend of mine
and would like some help with this sub-routine. This does work, but would
like something cleaner.
The routine creates a clickable menu of items for the web page, 10 items
per catalog page. It is set-up for a maxium of 40 items at present
( with a lot of code )
What I want is a routine that will work for an infinate number of items
in the database, and print the menu list, assigning 10 items
per page. I hope this is not too confusing. This shoping cart
can be viewed at: http://www.corpsite.com/jgcom
The sub index -
opens the database and counts the lines [ number of items ]
foreach 10 lines it prints a menu:
<A HREF="/cgi-jgcom/catalog.cgi?page=y&new=y&start=0&end=9t">Specials Page 1</A>
<A HREF="/cgi-jgcom/catalog.cgi?page=y&new=y&start=10&end=19">Specials Page 2</A>
<A HREF="/cgi-jgcom/catalog.cgi?page=y&new=y&start=20&end=29">Specials Page 3</A>
ETC.
sub index {
$count=0;
open (LOOKUP, "$path/catalog/database.txt");
@lines = <LOOKUP>;
close (LOOKUP);
foreach $line (@lines) {
$count++;
} # End of foreach $line
### *** Start of menu for use on homepage
open (DATABASE, ">$path/catalog/menu.txt");
print DATABASE "<A HREF=\"/cgi-jgcom";
print DATABASE "/catalog.cgi?page=y&new=y&start=0&end=9\">";
print DATABASE "Specials Page 1</A><BR>\n";
if ($count > 9) {
if ($count >= 19) {
$pg2cnt = 19;
}else{
$pg2cnt = $count - 1;
}
print DATABASE "<A HREF=\"/cgi-jgcom";
print DATABASE "/catalog.cgi?page=y&new=y&start=10&end=$pg2cnt\">";
print DATABASE "Specials Page 2</A><BR>\n";
} # End of if ($count > 9 # * End of page 2
if ($count > 19) {
if ($count >= 29) {
$pg3cnt = 29;
}else{
$pg3cnt = $count - 1;
}
print DATABASE "<A HREF=\"/cgi-jgcom";
print DATABASE "/catalog.cgi?page=y&new=y&start=10&end=$pg3cnt\">";
print DATABASE "Specials Page 3</A><BR>\n";
} # End of if ($count > 9 # * End of page 3
if ($count > 29) {
if ($count >= 39) {
$pg4cnt = 39;
}else{
$pg4cnt = $count - 1;
}
print DATABASE "<A HREF=\"/cgi-jgcom";
print DATABASE "/catalog.cgi?page=y&new=y&start=10&end=$pg4cnt\">";
print DATABASE "Specials Page 4</A><BR>\n";
} # End of if ($count > 9 # * End of page 4
close (DATABASE);
------------------------------
Date: 22 Aug 1997 12:20:56 -0400
From: clay@panix.com (Clay Irving)
Subject: Re: How do I find the system date/time?
Message-Id: <5tke98$4bd@panix.com>
In <33FB5CD2.79@orrqms2.psf.lmco.com> Brad Herder <bherder@orrqms2.psf.lmco.com> writes:
>Alan J. Flavell wrote:
>> Y2K, here we come.
>>
>> Better make that 1900+$year , methinks.
>>
>> --
>Is that really correct? Is Unix going to return 100 in the year
>2000? Or is it going to return 00?
>I'd really like to know.
#!/usr/local/bin/perl -w
# 4 years x 365 days/year * 24 hours/day * 3600 seconds/hour
$four_years_from_now = 4 * 365 * 24 * 3600;
# Add 4 years worth of seconds to the result of time
$year = (localtime(time + $four_years_from_now))[5];
print "$year years since 1900";
$year = $year + 1900;
print "The year is $year\n";
$date = localtime(time + $four_years_from_now);
print "Four years from now is $date\n";
It doesn't have a Year 2000 problem -- The output of the program is:
101 years since 1900
The year is 2001
Four years from now is Tue Aug 21 12:19:23 2001
--
Clay Irving <clay@panix.com> http://www.panix.com/~clay/
------------------------------
Date: Fri, 22 Aug 1997 18:31:34 +0200
From: Doug Seay <seay@absyss.fr>
Subject: Re: How do I find the system date/time?
Message-Id: <33FDBEE6.5B1AACEE@absyss.fr>
Kelly Baxter wrote:
>
> I tried this and it didn't work... I'm in NT though... is this a unix
> variable? (localtime that is)
>
> Tom Phoenix <rootbeer@teleport.com> wrote in article
> <Pine.GSO.3.96.970818063935.25618C-100000@julie.teleport.com>...
> > On Sun, 17 Aug 1997, David Anderson wrote:
> >
> > > Subject: How do I find the system date/time?
> >
> > $date = localtime; # Get the date and time
> >
> > Hope this helps!
Kelly,
localtime isn't a variable. Note the lack of punctuation at the
beginning. It is an operator (or a function if you like parens). What
do you get when you type
perl -e 'print scalar(localtime), "\n";'
Or whatever the syntax would be for NT.
- doug
------------------------------
Date: 22 Aug 1997 14:39:15 GMT
From: "David Hayden" <dhayden@ford.com>
Subject: Re: I have a forking problems
Message-Id: <01bcaf09$155e4f80$6502a713@fce04438.jubilee.ford.com>
Thanks for your help on this. I think maybe I explained the problem the
wrong way IOW showing my code I put together rather than the exact problem
I have to solve. It is possible that I don't need to use forking or IPC at
all.
The problem is as follows:-
Accept incoming data from socket (I have done this okay)
Send out to Oracle Gateway (I have code for this)
Listen for response
Time out in no response recieved in 2 minutes
Send back Time Out Message or response from Oracle Gateway to socket.
Its as easy as that,
Your comments on the easiest way to do this would be appreciated.
David Hayden
------------------------------
Date: Fri, 22 Aug 1997 10:21:43 -0400
From: "Stephan D. Cote" <sdcote@lci.net>
Subject: OraPerl Field Names
Message-Id: <33FDA077.13D564C0@lci.net>
Does anyone know how to retrieve field names with the data with OraPerl?
All I get with ora_fetch is the data. I need to know what the
field(column) name is.
If this is mis-posted, please direct me to the appropriate newsgroup.
--
---[Stephan D. Cote, CCP]------[ Sr. Network Engineer ]---
Data Engineering, LCI International Inc.
4650 Lakehurst Court, Dublin, OH 43016
---[ (614) 798-6000 ]-------------------------------------
------------------------------
Date: Fri, 22 Aug 1997 08:57:49 -0700
From: Bob Eisner <boei@trifox.com>
To: JStubble <jstubble@aol.com>
Subject: Re: Perl as a C-TREE interface
Message-Id: <33FDB6FD.601D@trifox.com>
JStubble wrote:
>
> Hello,
>
> Has anyone ever used Perl to interface with C-TREE? If so, can you
> provide some code for me to look at? It would be greatly appreciated!
> Preferably please respond via e-mail to joe@stubblebine.com
>
> Thanks!
>
> Joe
Hi Joe,
You may want to checkout VORTEXperl. It talks to multiple
RDBMS and supports C-TREE (via our Genesis product). It
uses Perl Sockets so there is no need to re-build the Perl
runtime! The Genesis product supports Faircom and Informix
version of C-TREE.
VORTEXPerl provides a simple interface for Perl applications to
access all leading relational and legacy databases via the
VORTEX database access and performance boosters, like
VORTEXaccelerator, the industry-leading high performance
transaction process monitor. With VORTEXPerl you can quickly
access DBMS information from CGI applications and spend your
time making your application great without bothering with DBMS
details.
You can obtain an evaluation copy of VORTEXperl from our WEB site
at http://www.trifox.com/vortex/vtxperl.html
The VORTEXserver evaluation can also be obtained from our WEB
site at http://www.trifox.com/products/eval_server.html
Genesis is a SQL processor that accesses low-level datasources such
as ISAM, dBASE, and other flat file structures.
The following is an example of Perl script accessing C-TREE files
on a Windows NT box:
+--------------+ +-----------+
| Visual Basic | | MS ACCESS |
+--------------+ +-----------+
| |
+---------------+
| VORTEXodbc |
+---------------+
|
|
| +------+
| | JDBC |
| +------+
+-----------------------+ +------+ +------+
| VORTEXnet (TCP/IP) | | JAVA | | Perl |
+-----------------------+ +------+ +------+
\ \ \
\ \ \
\ \ \
-- -- --
\ \ \
\ \ \
\ \ \
+---------------------------------------------------+
| VORTEXnet (TCP/IP) |
+---------------------------------------------------+
+--------------------------------------------------------+
| VORTEXserver |
+--------------------------------------------------------+
|
+---------------------------------+
| GENESIS |
+---------------------------------+
| | |
+-------------+ +------------+ +-------------+
| | | | | |
| dBase files | | ISAM files | | C-Tree |
| | | | | |
+-------------+ +------------+ +-------------+
Genesis is a SQL processor that accesses low-level datasources such as
ISAM, dBASE, and other flat file structures.
Enabling joins across heterogeneous databases and datasources, Genesis
(ANSI 2 SQL parser) works transparently with the VORTEXchannel to
provide access to often difficult-to-reach data.
The requirements for adding new datasources are very few. Since most of
the work is performed by the generic SQL processor, each datasource need
only be able to perform open/read/write/close. New
datasource drivers can be added in a matter of days.
Genesis currently supports:
ADABAS C, Software AG
SDMS ISAM, Synergex (formerly DISC)
c-tree, FairCom and Informix
dBASE files
VORTEXchannel
Regards,
Bob Eisner
408 369-2392
------------------------------
Date: Fri, 22 Aug 1997 17:11:07 +0200
From: Doug Seay <seay@absyss.fr>
To: Simon Fairey <sfairey@adc.metrica.co.uk>
Subject: Re: Reading in a file for use...
Message-Id: <33FDAC0B.1738CC88@absyss.fr>
Simon Fairey wrote:
>
> foreach( @Contents ) {
> chomp; #This will remove the newline.
> print "Line is $_\n";
> }
This could be done in one line
print join("Line is ", '', @Contents);
Or using Randal's map() toy
print map { $_ = "Line is $_"; } @Contents;
This doesn't change anything, but more of "here's another way of doing
it". Just I don't like seeing chomp() followed by putting a \n right
back on as it is just a waste of effort.
- doug
------------------------------
Date: Fri, 22 Aug 1997 11:21:36 -0500
From: Danny LaPrade <dannyl@computize.com>
Subject: server name
Message-Id: <33FDBC90.4FCE@computize.com>
How can you retrieve the server name in perl?
--
--------------------------------------------------------------
-- Danny LaPrade
-- Advertising - Web Development
-- 1030 Wirt Road #400
-- Houston, Texas 77055-6849
-- 713.957.0057
-- 713.613.4812 Fax
--
-- http://www.computize.com/
--------------------------------------------------------------
"Hold on to your dreams while pulling
through the present. "
------------------------------
Date: 22 Aug 1997 15:04:32 GMT
From: mjtg@cus.cam.ac.uk (M.J.T. Guy)
Subject: Re: shell command "more"
Message-Id: <5tk9q0$p5$1@lyra.csx.cam.ac.uk>
Andrew M. Langmead <aml@world.std.com> wrote:
>Maybe a better option would be to allow the user to choose their
>favorite pager. A convention that is common in unix is to allow users
>to set the PAGER environment variable to their pager of choice. If
>that environment variable is not set, then you could default to "more"
>which is standard among unix systems.
Or better still, exploit the fact that Perl has already done the work
for you:
use Config;
my $pager = $ENV{PAGER} || $Config{pager};
open MORE, "|$pager" or die "oops\n";
Mike Guy
------------------------------
Date: Fri, 22 Aug 1997 11:17:15 -0500
From: kcc <kccole@lucent.com>
Subject: Shell Parameter Expansion - HELP!!
Message-Id: <33FDBB8B.111C@lucent.com>
Hi,
Can someone please help me... If I want to write
perl script that will check whether the user has entered the
metacharacter "*" on the command line how to do this?
ie., John,
perl script execution > foo *
if ( $ARGV[0] = "*" )
{
.
.
.
How can I check within "foo" whether the user
has entered the asterick character as an argument to the
perl program, since the shell automatically does file/pathname expansion
before execution of the program???
Thanx!!
Keth C.
------------------------------
Date: Fri, 22 Aug 1997 18:03:46 +0200
From: Doug Seay <seay@absyss.fr>
Subject: Re: shift
Message-Id: <33FDB862.6FC09A2A@absyss.fr>
Ajitesh Das wrote:
>
> Russ Allbery wrote:
> > if (@an_array) { print "has array elements\n" }
> It can ckecked simply using $#an_arrray
$#array has gone out of style. It still works, but most people prefer
to user @array in a scalar context. I prefer to be more explit that
Russ was, I would have done
if ( scalar @an_array ) { print; }
> > if (%a_hash) { print "has hash members\n" }
> >
> This can be using "keys" build in function
> ain't these?
Yes, keys would have done it, but keys has to traverse the entire hash
table and build a list of keys. This takes time and memory, so it is
avoided when possible.
- doug
------------------------------
Date: Fri, 22 Aug 1997 17:04:15 +0200
From: Doug Seay <seay@absyss.fr>
Subject: Re: Statistics for comp.lang.perl.misc
Message-Id: <33FDAA6F.4C783DD@absyss.fr>
Bart Lateur wrote:
>
> Greg Bacon <gbacon@cs.uah.edu> wrote:
>
> (OCR = original content ratio)
>
> >Top 10 Posters by OCR (minimum of five posts)
>
> Is that good?
>
> >Bottom 10 Posters by OCR (minimum of five posts)
>
> >0.4867 2.4 / 4.8 7 Bart Lateur <bart.mediamind@tornado.be>
>
> Is this bad?
>
> Note that you get a "good" OCR if you only ask questions, and a "bad"
> OCR ratio if you only answer them. As in my case.
True, but if you prune down most of the question, then the ratio is
better. I think most of the "answering crowd" has less than 50% OCR.
And it is better to have a low OCR than to not answer the questions
(IMnsHO).
- doug
------------------------------
Date: Fri, 22 Aug 1997 15:20:19 GMT
From: knetsch@golden.net.no.spam (SJK)
Subject: Re: Syntax Question
Message-Id: <33fdac2a.2749157@news.golden.net>
On 22 Aug 1997 12:28:58 GMT, "Buehler, Bob" <bob.buehler@cpa.state.tx.us> wrote:
>I browsed the FAQ and read my Learning PERL book, but can't figure out this
>code for creating a database message handler. Could someone please assist?
>
><snip>
>sub message_handler
>{
> my ($db, $message, $state) = @_;
>}
>
>Here's what I think:
>
>subroutine definition, sub is named message_handler, a list of 3 variables
>is assigned to the special variable @_. But, I don't understand the "my".
>What am I missing?
Actualy, its the other way around. $db, $message and $state are assigned the
first three values stored in the list @_. @_ holds the values passed to the sub
routine when called. my() defines the three variables to be local in scope. ie
they can only be used within the subroutine message_handler and will be
destroyed once the subroutine completes running. Otherwise the variables $db,
$message, $state would be global in scope and could be set or changed anywhere
else in the program. Also, if $db, $message, or $state are already in use, my()
creates new instances of theses variables for local use in the routine and does
not overwrite or change the previously defined instances. So you can have two
$db variables in two different routines that hold two independant values.
Hope this helps
Stuart Knetsch
Remove the you know what from my address to send me E-mail
------------------------------
Date: 8 Mar 97 21:33:47 GMT (Last modified)
From: Perl-Request@ruby.oce.orst.edu (Perl-Users-Digest Admin)
Subject: Digest Administrivia (Last modified: 8 Mar 97)
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.misc (and this Digest), send your
article to perl-users@ruby.oce.orst.edu.
To submit articles to comp.lang.perl.announce, send your article to
clpa@perl.com.
To request back copies (available for a week or so), send your request
to almanac@ruby.oce.orst.edu with the command "send perl-users x.y",
where x is the volume number and y is the issue number.
The Meta-FAQ, an article containing information about the FAQ, is
available by requesting "send perl-users meta-faq". The real FAQ, as it
appeared last in the newsgroup, can be retrieved with the request "send
perl-users FAQ". Due to their sizes, neither the Meta-FAQ nor the FAQ
are included in the digest.
The "mini-FAQ", which is an updated version of the Meta-FAQ, is
available by requesting "send perl-users mini-faq". It appears twice
weekly in the group, but is not distributed in the digest.
For other requests pertaining to the digest, send mail to
perl-users-request@ruby.oce.orst.edu. Do not waste your time or mine
sending perl questions to the -request address, I don't have time to
answer them even if I did know the answer.
------------------------------
End of Perl-Users Digest V8 Issue 905
*************************************