-
Notifications
You must be signed in to change notification settings - Fork 8
/
lwall-quotes
executable file
·1415 lines (1407 loc) · 59.4 KB
/
lwall-quotes
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
497
498
499
500
501
502
503
504
505
506
507
508
509
510
511
512
513
514
515
516
517
518
519
520
521
522
523
524
525
526
527
528
529
530
531
532
533
534
535
536
537
538
539
540
541
542
543
544
545
546
547
548
549
550
551
552
553
554
555
556
557
558
559
560
561
562
563
564
565
566
567
568
569
570
571
572
573
574
575
576
577
578
579
580
581
582
583
584
585
586
587
588
589
590
591
592
593
594
595
596
597
598
599
600
601
602
603
604
605
606
607
608
609
610
611
612
613
614
615
616
617
618
619
620
621
622
623
624
625
626
627
628
629
630
631
632
633
634
635
636
637
638
639
640
641
642
643
644
645
646
647
648
649
650
651
652
653
654
655
656
657
658
659
660
661
662
663
664
665
666
667
668
669
670
671
672
673
674
675
676
677
678
679
680
681
682
683
684
685
686
687
688
689
690
691
692
693
694
695
696
697
698
699
700
701
702
703
704
705
706
707
708
709
710
711
712
713
714
715
716
717
718
719
720
721
722
723
724
725
726
727
728
729
730
731
732
733
734
735
736
737
738
739
740
741
742
743
744
745
746
747
748
749
750
751
752
753
754
755
756
757
758
759
760
761
762
763
764
765
766
767
768
769
770
771
772
773
774
775
776
777
778
779
780
781
782
783
784
785
786
787
788
789
790
791
792
793
794
795
796
797
798
799
800
801
802
803
804
805
806
807
808
809
810
811
812
813
814
815
816
817
818
819
820
821
822
823
824
825
826
827
828
829
830
831
832
833
834
835
836
837
838
839
840
841
842
843
844
845
846
847
848
849
850
851
852
853
854
855
856
857
858
859
860
861
862
863
864
865
866
867
868
869
870
871
872
873
874
875
876
877
878
879
880
881
882
883
884
885
886
887
888
889
890
891
892
893
894
895
896
897
898
899
900
901
902
903
904
905
906
907
908
909
910
911
912
913
914
915
916
917
918
919
920
921
922
923
924
925
926
927
928
929
930
931
932
933
934
935
936
937
938
939
940
941
942
943
944
945
946
947
948
949
950
951
952
953
954
955
956
957
958
959
960
961
962
963
964
965
966
967
968
969
970
971
972
973
974
975
976
977
978
979
980
981
982
983
984
985
986
987
988
989
990
991
992
993
994
995
996
997
998
999
1000
All language designers are arrogant. Goes with the territory... :-)
-- Larry Wall in <[email protected]
%
Although the Perl Slogan is There's More Than One Way to Do It, I hesitate
to make 10 ways to do something. :-)
-- Larry Wall in <[email protected]>
%
And don't tell me there isn't one bit of difference between null and space,
because that's exactly how much difference there is. :-)
-- Larry Wall in <[email protected]>
%
"And I don't like doing silly things (except on purpose)."
-- Larry Wall in <[email protected]>
%
: And it goes against the grain of building small tools.
Innocent, Your Honor. Perl users build small tools all day long.
-- Larry Wall in <[email protected]>
%
/* And you'll never guess what the dog had */
/* in its mouth... */
-- Larry Wall in stab.c from the perl source code
%
Because . doesn't match \n. [\0-\377] is the most efficient way to match
everything currently. Maybe \e should match everything. And \E would
of course match nothing. :-)
-- Larry Wall in <[email protected]>
%
Be consistent.
-- Larry Wall in the perl man page
%
Besides, including <std_ice_cubes.h> is a fatal error on machines that
don't have it yet. Bad language design, there... :-)
-- Larry Wall in <[email protected]>
%
Besides, it's good to force C programmers to use the toolbox occasionally. :-)
-- Larry Wall in <[email protected]>
%
Besides, REAL computers have a rename() system call. :-)
-- Larry Wall in <[email protected]>
%
break; /* don't do magic till later */
-- Larry Wall in stab.c from the perl source code
%
But you have to allow a little for the desire to evangelize when you
think you have good news.
-- Larry Wall in <[email protected]>
%
Chip Salzenberg sent me a complete patch to add System V IPC (msg, sem and
shm calls), so I added them. If that bothers you, you can always undefine
them in config.sh. :-) -- Larry Wall in <[email protected]>
%
/* dbmrefcnt--; */ /* doesn't work, rats */
-- Larry Wall in hash.c from the perl source code
%
#define NULL 0 /* silly thing is, we don't even use this */
-- Larry Wall in perl.c from the perl source code
%
#define SIGILL 6 /* blech */
-- Larry Wall in perl.c from the perl source code
%
Does the same as the system call of that name.
If you don't know what it does, don't worry about it.
-- Larry Wall in the perl man page regarding chroot(2)
%
double value; /* or your money back! */
short changed; /* so triple your money back! */
-- Larry Wall in cons.c from the perl source code
%
Down that path lies madness. On the other hand, the road to hell is
paved with melting snowballs.
-- Larry Wall in <[email protected]>
%
echo "Congratulations. You aren't running Eunice."
-- Larry Wall in Configure from the perl distribution
%
echo "Hmmm...you don't have Berkeley networking in libc.a..."
echo "but the Wollongong group seems to have hacked it in."
-- Larry Wall in Configure from the perl distribution
%
echo "ICK, NOTHING WORKED!!! You may have to diddle the includes.";;
-- Larry Wall in Configure from the perl distribution
%
echo $package has manual pages available in source form.
echo "However, you don't have nroff, so they're probably useless to you."
-- Larry Wall in Configure from the perl distribution
%
echo "Your stdio isn't very std."
-- Larry Wall in Configure from the perl distribution
%
#else /* !STDSTDIO */ /* The big, slow, and stupid way */
-- Larry Wall in str.c from the perl source code
%
[End of diatribe. We now return you to your regularly scheduled
programming...]
-- Larry Wall in Configure from the perl distribution
%
Even if you aren't in doubt, consider the mental welfare of the person who
has to maintain the code after you, and who will probably put parens in
the wrong place. -- Larry Wall in the perl man page
%
"Help save the world!" -- Larry Wall in README
%
Hey, I had to let awk be better at *something*... :-)
-- Larry Wall in <[email protected]>1
%
I already have too much problem with people thinking the efficiency of
a perl construct is related to its length. On the other hand, I'm
perfectly capable of changing my mind next week... :-) --lwall
%
I don't know if it's what you want, but it's what you get. :-)
-- Larry Wall in <[email protected]>
%
I dunno, I dream in Perl sometimes...
-- Larry Wall in <[email protected]>
%
If I allowed "next $label" then I'd also have to allow "goto $label",
and I don't think you really want that... :-)
-- Larry Wall in <[email protected]>
%
If I don't document something, it's usually either for a good reason,
or a bad reason. In this case it's a good reason. :-)
-- Larry Wall in <[email protected]>
%
"I find this a nice feature but it is not according to the documentation.
Or is it a BUG?"
"Let's call it an accidental feature. :-)"
-- Larry Wall in <[email protected]>
%
if (instr(buf,sys_errlist[errno])) /* you don't see this */
-- Larry Wall in eval.c from the perl source code
%
if (rsfp = mypopen("/bin/mail root","w")) { /* heh, heh */
-- Larry Wall in perl.c from the perl source code
%
If you consistently take an antagonistic approach, however, people are
going to start thinking you're from New York. :-)
-- Larry Wall to Dan Bernstein in <[email protected]>
%
If you want to program in C, program in C. It's a nice language. I
use it occasionally... :-)
-- Larry Wall in <[email protected]>
%
If you want to see useful Perl examples, we can certainly arrange to have
comp.lang.misc flooded with them, but I don't think that would help the
advance of civilization. :-)
-- Larry Wall in <[email protected]>
%
If you want your program to be readable, consider supplying the argument.
-- Larry Wall in the perl man page
%
I know it's weird, but it does make it easier to write poetry in perl. :-)
-- Larry Wall in <[email protected]>
%
I'll say it again for the logic impaired.
-- Larry Wall
%
I might be able to shoehorn a reference count in on top of the numeric
value by disallowing multiple references on scalars with a numeric value,
but it wouldn't be as clean. I do occasionally worry about that. --lwall
%
I'm sure that that could be indented more readably, but I'm scared of
the awk parser.
-- Larry Wall in <[email protected]>
%
In general, if you think something isn't in Perl, try it out, because it
usually is. :-)
-- Larry Wall in <[email protected]>
%
In general, they do what you want, unless you want consistency.
-- Larry Wall in the perl man page
%
Interestingly enough, since subroutine declarations can come anywhere,
you wouldn't have to put BEGIN {} at the beginning, nor END {} at the
end. Interesting, no? I wonder if Henry would like it. :-) --lwall
%
I think it's a new feature. Don't tell anyone it was an accident. :-)
-- Larry Wall on s/foo/bar/eieio in <[email protected]>
%
"It is easier to port a shell than a shell script."
-- Larry Wall
%
It is, of course, written in Perl. Translation to C is left as an
exercise for the reader. :-) -- Larry Wall in <[email protected]>
%
It's all magic. :-)
-- Larry Wall in <[email protected]>
%
It's documented in The Book, somewhere...
-- Larry Wall in <[email protected]>
%
> (It's sorta like sed, but not. It's sorta like awk, but not. etc.)
Guilty as charged. Perl is happily ugly, and happily derivative.
-- Larry Wall in <[email protected]>
%
It's there as a sop to former Ada programmers. :-)
-- Larry Wall regarding 10_000_000 in <[email protected]>
%
It won't be covered in the book. The source code has to be useful for
something, after all... :-)
-- Larry Wall in <[email protected]>
%
: I've heard that there is a shell (bourne or csh) to perl filter, does
: anyone know of this or where I can get it?
Yeah, you filter it through Tom Christiansen. :-) -- Larry Wall
%
: I've tried (in vi) "g/[a-z]\n[a-z]/s//_/"...but that doesn't
: cut it. Any ideas? (I take it that it may be a two-pass sort of solution).
In the first pass, install perl. :-)
-- Larry Wall <[email protected]>
%
I won't mention any names, because I don't want to get sun4's into
trouble... :-) -- Larry Wall in <[email protected]>
%
Just don't compare it with a real language, or you'll be unhappy... :-)
-- Larry Wall in <[email protected]>
%
Just don't create a file called -rf. :-)
-- Larry Wall in <[email protected]>
%
last|perl -pe '$_ x=/(..:..)...(.*)/&&"'$1'"ge$1&&"'$1'"lt$2'
That's gonna be tough for Randal to beat... :-)
-- Larry Wall in <[email protected]>
%
Let's say the docs present a simplified view of reality... :-)
-- Larry Wall in <[email protected]>
%
Let us be charitable, and call it a misleading feature :-)
-- Larry Wall in <[email protected]>
%
Lispers are among the best grads of the Sweep-It-Under-Someone-Else's-Carpet
School of Simulated Simplicity. [Was that sufficiently incendiary? :-)]
-- Larry Wall in <[email protected]
%
No, I'm not going to explain it. If you can't figure it out, you didn't
want to know anyway... :-)
-- Larry Wall in <[email protected]>
%
/* now make a new head in the exact same spot */
-- Larry Wall in cons.c from the perl source code
%
OK, enough hype.
-- Larry Wall in the perl man page
%
OOPS! You naughty creature! You didn't run Configure with sh!
I will attempt to remedy the situation by running sh for you...
-- Larry Wall in Configure from the perl distribution
%
Perl is designed to give you several ways to do anything, so
consider picking the most readable one.
-- Larry Wall in the perl man page
%
Perl itself is usually pretty good about telling you what you shouldn't
do. :-)
-- Larry Wall in <[email protected]>
%
Perl programming is an *empirical* science!
-- Larry Wall in <[email protected]>
%
pos += screamnext[pos] /* does this goof up anywhere? */
-- Larry Wall in util.c from the perl source code
%
Q. Why is this so clumsy?
A. The trick is to use Perl's strengths rather than its weaknesses.
-- Larry Wall in <[email protected]>
%
Randal said it would be tough to do in sed. He didn't say he didn't
understand sed. Randal understands sed quite well. Which is why he
uses Perl. :-) -- Larry Wall in <[email protected]>
%
Real programmers can write assembly code in any language. :-)
-- Larry Wall in <[email protected]>
%
Remember though that
THERE IS NO GENERAL RULE FOR CONVERTING A LIST INTO A SCALAR.
-- Larry Wall in the perl man page
%
s = (char*)(long)retval; /* ouch */
-- Larry Wall in doio.c from the perl source code
%
signal(i, SIG_DFL); /* crunch, crunch, crunch */
-- Larry Wall in doarg.c from the perl source code
%
Sorry. My testing organization is either too small, or too large, depending
on how you look at it. :-)
-- Larry Wall in <[email protected]>
%
stab_val(stab)->str_nok = 1; /* what a wonderful hack! */
-- Larry Wall in stab.c from the perl source code
%
str->str_pok |= SP_FBM; /* deep magic */
s = (unsigned char*)(str->str_ptr); /* deeper magic */
-- Larry Wall in util.c from the perl source code
%
Tactical? TACTICAL!?!? Hey, buddy, we went from kilotons to megatons
several minutes ago. We don't need no stinkin' tactical nukes.
(By the way, do you have change for 10 million people?) --lwall
%
That means I'll have to use $ans to suppress newlines now.
Life is ridiculous.
-- Larry Wall in Configure from the perl distribution
%
The autodecrement is not magical.
-- Larry Wall in the perl man page
%
The only disadvantage I see is that it would force everyone to get Perl.
Horrors. :-)
-- Larry Wall in <[email protected]>
%
*** The previous line contains the naughty word "$&".\n
if /(ibm|apple|awk)/; # :-)
-- Larry Wall in the perl man page
%
There ain't nothin' in this world that's worth being a snot over.
-- Larry Wall in <[email protected]>
%
There are many times when you want it to ignore the rest of the string just
like atof() does. Oddly enough, Perl calls atof(). How convenient. :-)
-- Larry Wall in <[email protected]>
%
There are probably better ways to do that, but it would make the parser
more complex. I do, occasionally, struggle feebly against complexity... :-)
-- Larry Wall in <[email protected]>
%
There are still some other things to do, so don't think if I didn't fix
your favorite bug that your bug report is in the bit bucket. (It may be,
but don't think it. :-) Larry Wall in <[email protected]>
%
There is, however, a strange, musty smell in the air that reminds me of
something...hmm...yes...I've got it...there's a VMS nearby, or I'm a Blit.
-- Larry Wall in Configure from the perl distribution
%
"The road to hell is paved with melting snowballs."
-- Larry Wall in <[email protected]>
%
/* This bit of chicanery makes a unary function followed by
a parenthesis into a function with one argument, highest precedence. */
-- Larry Wall in toke.c from the perl source code
%
"...this does not mean that some of us should not want, in a rather
dispassionate sort of way, to put a bullet through csh's head."
Larry Wall in <[email protected]>
%
> This made me wonder, suddenly: can telnet be written in perl?
Of course it can be written in Perl. Now if you'd said nroff,
that would be more challenging... -- Larry Wall
%
Though I'll admit readability suffers slightly...
-- Larry Wall in <[email protected]>
%
tmps_base = tmps_max; /* protect our mortal string */
-- Larry Wall in stab.c from the perl source code
%
Unix is like a toll road on which you have to stop every 50 feet to
pay another nickel. But hey! You only feel 5 cents poorer each time.
-- Larry Wall in <[email protected]>
%
"We all agree on the necessity of compromise. We just can't agree on
when it's necessary to compromise."
-- Larry Wall in <[email protected]>
%
/* we have tried to make this normal case as abnormal as possible */
-- Larry Wall in cmd.c from the perl source code
%
What about WRITING it first and rationalizing it afterwords? :-)
-- Larry Wall in <[email protected]>
%
: 1. What is the possibility of this being added in the future?
In the near future, the probability is close to zero. In the distant
future, I'll be dead, and posterity can do whatever they like... :-) --lwall
%
"What is the sound of Perl? Is it not the sound of a wall that
people have stopped banging their heads against?"
-- Larry Wall in <[email protected]>
%
When in doubt, parenthesize. At the very least it will let some
poor schmuck bounce on the % key in vi.
-- Larry Wall in the perl man page
%
"You can't have filenames longer than 14 chars.
You can't even think about them!"
-- Larry Wall in Configure from the perl distribution
%
You have to admit that it's difficult to misplace the Perl sources. :-)
-- Larry Wall in <[email protected]>
%
Your csh still thinks true is false. Write to your vendor today and tell
them that next year Configure ought to "rm /bin/csh" unless they fix their
blasted shell. :-) -- Larry Wall in Configure from the perl distribution
%
You want it in one line? Does it have to fit in 80 columns? :-)
-- Larry Wall in <[email protected]>
%
Well, enough clowning around. Perl is, in intent, a cleaned up and
summarized version of that wonderful semi-natural language known as
"Unix".
-- Larry Wall in <[email protected]>
%
Anyway, there's plenty of room for doubt. It might seem easy enough,
but computer language design is just like a stroll in the park.
Jurassic Park, that is.
-- Larry Wall in <[email protected]>
%
I want to see people using Perl to glue things together creatively, not
just technically but also socially.
-- Larry Wall in <[email protected]>
%
The whole history of computers is rampant with cheerleading at best and
bigotry at worst.
-- Larry Wall in <[email protected]>
%
If someone stinks, view it as a reason to help them, not a reason to
avoid them.
-- Larry Wall in <[email protected]>
%
As usual, I'm overstating the case to knock a few neurons loose, but the
truth is usually somewhere in the muddle, uh, middle.
-- Larry Wall in <[email protected]>
%
Odd that we think definitions are definitive. :-)
-- Larry Wall in <[email protected]>
%
: But for some things, Perl just isn't the optimal choice.
(yet) :-)
-- Larry Wall in <[email protected]>
%
I don't like this official/unofficial distinction. It sound, er, officious.
-- Larry Wall in <[email protected]>
%
If you write something wrong enough, I'll be glad to make up a new
witticism just for you.
-- Larry Wall in <[email protected]>
%
So far we've managed to avoid turning Perl into APL. :-)
-- Larry Wall in <[email protected]>
%
Not that I have anything much against redundancy. But I said that already.
-- Larry Wall in <[email protected]>
%
They can always run stderr through uniq. :-)
-- Larry Wall in <[email protected]>
%
I'd put my money where my mouth is, but my mouth keeps moving.
-- Larry Wall in <[email protected]>
%
Of course, I reserve the right to make wholly stupid changes to Perl
if I think they improve the language. :-)
-- Larry Wall in <[email protected]>
%
Call me bored, but don't call me boring.
-- Larry Wall in <[email protected]>
%
I think $[ is more like a coelacanth than a mastadon.
-- Larry Wall in <[email protected]>
%
We question most of the mantras around here periodically, in case
you hadn't noticed. :-)
-- Larry Wall in <[email protected]>
%
(Presuming for the sake of argument that it's even *possible* to design
better code in Perl than in C. :-)
-- Larry Wall on core code vs. module code design
%
That could certainly be done, but I don't want to fall into the Forth
trap, where every running Forth implementation is really a different
language.
-- Larry Wall in <[email protected]>
%
Tcl long ago fell into the Forth trap, and is now trying desperately to
extricate itself (with some help from Sun's marketing department).
-- Larry Wall in <[email protected]>
%
The whole intent of Perl 5's module system was to encourage the growth
of Perl culture rather than the Perl core.
-- Larry Wall in <[email protected]>
%
Randal can write one-liners again. Everyone is happy, and peace spreads
over the whole Earth.
-- Larry Wall in <[email protected]>
%
Life gets boring, someone invents another necessity, and once again we
turn the crank on the screwjack of progress hoping that nobody gets
screwed.
-- Larry Wall in <[email protected]>
%
No prisoner's dilemma here. Over the long term, symbiosis is more
useful than parasitism. More fun, too. Ask any mitochondria.
-- Larry Wall in <[email protected]>
%
Obviously I was either onto something, or on something.
-- Larry Wall on the creation of Perl
%
It's the Magic that counts.
-- Larry Wall on Perl's apparent ugliness
%
May you do Good Magic with Perl.
-- Larry Wall's blessing
%
P.S. Perl's master plan (or what passes for one) is to take over the
world like English did. Er, *as* English did...
-- Larry Wall in <[email protected]>
%
You can prove anything by mentioning another computer language. :-)
-- Larry Wall in <[email protected]>
%
I think you didn't get a reply because you used the terms "correct" and
"proper", neither of which has much meaning in Perl culture. :-)
-- Larry Wall in <[email protected]>
%
I'm sure a mathematician would claim that 0 and 1 are both very
interesting numbers. :-)
-- Larry Wall in <[email protected]>
%
True, it returns "" for false, but "" is an even more interesting
number than 0.
-- Larry Wall in <[email protected]>
%
Any false value is gonna be fairly boring in Perl, mathematicians
notwithstanding.
-- Larry Wall in <[email protected]>
%
We didn't put in ^^ because then we'd have to keep telling people what
it means, and then we'd have to keep telling them why it doesn't short
circuit. :-/
-- Larry Wall in <[email protected]>
%
Anybody want a binary telemetry frame editor written in Perl?
-- Larry Wall in <[email protected]>
%
Perhaps I'm missing the gene for making enemies. :-)
-- Larry Wall in <[email protected]>
%
Perl has a long tradition of working around compilers.
-- Larry Wall in <[email protected]>
%
Personally, I like to defiantly split my infinitives. :-)
-- Larry Wall in <[email protected]>
%
Real theology is always rather shocking to people who already
think they know what they think. I'm still shocked myself. :-)
-- Larry Wall in <[email protected]>
%
The computer should be doing the hard work. That's what it's paid to do,
after all.
-- Larry Wall in <[email protected]>
%
The following two statements are usually both true:
There's not enough documentation.
There's too much documentation.
-- Larry Wall in <[email protected]>
%
Of course, this being Perl, we could always take both approaches. :-)
-- Larry Wall in <[email protected]>
%
The random quantum fluctuations of my brain are historical accidents that
happen to have decided that the concepts of dynamic scoping and lexical
scoping are orthogonal and should remain that way.
-- Larry Wall in <[email protected]>
%
At many levels, Perl is a "diagonal" language.
-- Larry Wall in <[email protected]>
%
I'm serious about thinking through all the possibilities before we
settle on anything. All things have the advantages of their
disadvantages, and vice versa.
-- Larry Wall in <[email protected]>
%
Part of language design is purturbing the proposed feature in various
directions to see how it might generalize in the future.
-- Larry Wall in <[email protected]>
%
Sometimes we choose the generalization. Sometimes we don't.
-- Larry Wall in <[email protected]>
%
I wouldn't ever write the full sentence myself, but then, I never use
goto either.
-- Larry Wall in <[email protected]>
%
It's appositival, if it's there. And it doesn't have to be there.
And it's really obvious that it's there when it's there.
-- Larry Wall in <[email protected]>
%
Oh, get ahold of yourself. Nobody's proposing that we parse English.
-- Larry Wall in <[email protected]>
%
As with all the other proposals, it's basically just a list of words.
You can deal with that... :-)
-- Larry Wall in <[email protected]>
%
I hope I'm not getting so famous that I can't think out load [sic] anymore.
-- Larry Wall in <[email protected]>
%
It would be possible to optimize some forms of goto, but I haven't
bothered.
-- Larry Wall in <[email protected]>
%
A "goto" in Perl falls into the category of hard things that should be
possible, not easy things that should be easy.
-- Larry Wall in <[email protected]>
%
How do Crays and Alphas handle the POSIX problem?
-- Larry Wall in <[email protected]>
%
Well, that's more-or-less what I was saying, though obviously addition
is a little more cosmic than the bitwise operators.
-- Larry Wall in <[email protected]>
%
You tell it that it's indicative by appending $!. That's why we made $!
such a short variable name, after all. :-)
-- Larry Wall in <[email protected]>
%
The choice of approaches could be made the responsibility of the
programmer.
-- Larry Wall in <[email protected]>
%
As someone pointed out, you could have an attribute that says "optimize
the heck out of this routine", and your definition of heck would be a
parameter to the optimizer.
-- Larry Wall in <[email protected]>
%
If you're going to define a shortcut, then make it the base [sic] darn
shortcut you can.
-- Larry Wall in <[email protected]>
%
It is my job in life to travel all roads, so that some may take the road
less travelled, and others the road more travelled, and all have a
pleasant day.
-- Larry Wall in <[email protected]>
%
It's getting harder and harder to think out loud. One of these days
someone's gonna go off and kill Thomas a'Becket for me...
-- Larry Wall in <[email protected]>
%
I was about to say, "Avoid fame like the plague," but you know, they can
cure the plague with penicillin these days.
-- Larry Wall in <[email protected]>
%
But the possibility of abuse may be a good reason for leaving
capabilities out of other computer languages, it's not a good reason for
leaving capabilities out of Perl.
-- Larry Wall in <[email protected]>
%
Oh, wait, that was Randal...nevermind...
-- Larry Wall in <[email protected]>
%
P.S. I suppose I really should be nicer to people today, considering
I'll be singing in Billy Graham's choir tonight... :-)
-- Larry Wall in <[email protected]>
%
Magically turning people's old scalar contexts into list contexts is a
recipe for several kinds of disaster.
-- Larry Wall in <[email protected]>
%
And we can always supply them with a program that makes identical files
into links to a single file.
-- Larry Wall in <[email protected]>
%
I wasn't recommending that we make the links for them, only provide them
with the tools to do so if they want to take the gamble (or the gambol).
-- Larry Wall in <[email protected]>
%
This has been planned for some time. I guess we'll just have to find
someone with an exceptionally round tuit.
-- Larry Wall in <[email protected]>
%
switch (ref $@) {
OverflowError =>
warn "Dam needs to be drained";
DomainError =>
warn "King needs to be trained";
NuclearWarError =>
die;
}
-- Larry Wall in <[email protected]>
%
I surely do hope that's a syntax error.
-- Larry Wall in <[email protected]>
%
Anyway, my money is still on use strict vars . . .
-- Larry Wall in <[email protected]>
%
If you remove stricture from a large Perl program currently, you're just
installing delayed bugs, whereas with this feature, you're installing an
instant bug that's easily fixed. Whoopee.
-- Larry Wall in <[email protected]>
%
I don't think it's worth washing hogs over.
-- Larry Wall in <[email protected]>
%
It's certainly easy to calculate the average attendance for Perl
conferences.
-- Larry Wall in <[email protected]>
%
Tcl tends to get ported to weird places like routers.
-- Larry Wall in <[email protected]>
%
Historically Tcl has always stored all intermediate results as strings.
(With 8.0 they're rethinking that. Of course, Perl rethought that from
the start.)
-- Larry Wall in <[email protected]>
%
I knew I'd hate COBOL the moment I saw they'd used "perform" instead of
"do".
-- Larry Wall on a not-so-popular programming language
%
Just don't make the '9' format pack/unpack numbers... :-)
-- Larry Wall in <[email protected]>
%
I think that's easier to read. Pardon me. Less difficult to read.
-- Larry Wall in <[email protected]>
%
To ordinary folks, conversion is not always automatic. It's something
that may or may not require explicit assistance. See Billy Graham. :-)
-- Larry Wall in <[email protected]>
%
Well, you can implement a Perl peek() with unpack('P',...). Once you
have that, there's only security through obscurity. :-)
-- Larry Wall in <[email protected]>
%
It may be possible to get this condition from within Perl if a signal
handler runs at just the wrong moment. Another point for Chip... :-)
-- Larry Wall in <[email protected]>
%
As pointed out in a followup, Real Perl Programmers prefer things to be
visually distinct.
-- Larry Wall in <[email protected]>
%
The Harvard Law states: Under controlled conditions of light, temperature,
humidity, and nutrition, the organism will do as it damn well pleases.
-- Larry Wall in <[email protected]>
%
That should probably be written:
no !@#$%^&*:@!semicolon
-- Larry Wall in <[email protected]>
%
That gets us out of deciding how to spell Reg[eE]xp?|RE . . .
Of course, then we have to decide what ref $re returns... :-)
-- Larry Wall in <[email protected]>
%
'Course, that doesn't work when 'a' contains parentheses.
-- Larry Wall in <[email protected]>
%
I was trying not to mention backtracking. Which, of course, means that
yours is "righter" than mine, in a theoretical sense.
-- Larry Wall in <[email protected]>
%
Not that I'm against sneaking some notions into people's heads upon
occasion. (Or blasting them in outright.)
-- Larry Wall in <[email protected]>
%
(To the extent that anyone but a Prolog programmer can understand \X totally.
(And to the extent that a Prolog programmer can understand "cut". :-))
-- Larry Wall in <[email protected]>
%
Wow, I'm being shot at from both sides. That means I *must* be right. :-)
-- Larry Wall in <[email protected]>
%
You don't have to wait--you can have it in 5.004_54 or so. :-)
-- Larry Wall in <[email protected]>
%
There's something to be said for returning the whole syntax tree.
-- Larry Wall in <[email protected]>
%
It's not really a rule--it's more like a trend.
-- Larry Wall in <[email protected]>
%
Double *sigh*. _04 is going onto thousands of CDs even as we speak,
so to speak.
-- Larry Wall in <[email protected]>
%
The code also assumes that it's difficult to misspell "a" or "b". :-)
-- Larry Wall in <[email protected]>
%
Well, hey, let's just make everything into a closure, and then we'll
have our general garbage collector, installed by "use less memory".
-- Larry Wall in <[email protected]>
%
People who understand context would be steamed to have someone else
dictating how they can call it.
-- Larry Wall in <[email protected]>
%
For the sake of argument I'll ignore all your fighting words.
-- Larry Wall in <[email protected]>
%
Think of prototypes as a funny markup language--the interpretation is
left up to the rendering engine.
-- Larry Wall in <[email protected]>
%
The way these things go, there are probably 6 or 8 kludgey ways to do
it, and a better way that involves rethinking something that hasn't
been rethunk yet.
-- Larry Wall in <[email protected]>
%
Beauty? What's that?
-- Larry Wall in <[email protected]>
%
I'm afraid my gut level reaction is basically, "'proceed' is cute, but
cute doesn't cut it in the emergency room."
-- Larry Wall in <[email protected]>
%
I suppose one could claim that an undocumented feature has no
semantics. :-(
-- Larry Wall in <[email protected]>
%
Yes, we have consensus that we need 64 bit support. :-)
-- Larry Wall in <[email protected]>
%
: - cut in regexps
I don't think we reached consensus on that. We're still backtracking...
-- Larry Wall in <[email protected]>
%
Boss: You forgot to assign the result of your map!
Hacker: Dang, I'm always forgetting my assignations...
Boss: And what's that "goto" doing there?!?
Hacker: Er, I guess my finger slipped when I was typing "getservbyport"...
Boss: Ah well, accidents will happen. Maybe we should have picked APL.
-- Larry Wall in <[email protected]>
%
Perhaps they will have to outlaw sending random lists of words. fee fie
foe foo
-- Larry Wall in <[email protected]>
%
Hey, if pi == 3, and three == 0, does that make pi == 0? :-)
-- Larry Wall in <[email protected]>
%
(Never thought I'd be telling Malcolm and Ilya the same thing... :-)
-- Larry Wall in <[email protected]>
%
And other operators aren't so special syntactically, but weird
in other ways, like "scalar", and "goto".
-- Larry Wall in <[email protected]>
%
Portability should be the default.
-- Larry Wall in <[email protected]>
%
If this were Ada, I suppose we'd just constant fold 1/0 into
die "Illegal division by zero"
-- Larry Wall in <[email protected]>
%
Are you perchance running on a 64-bit machine?
-- Larry Wall in <[email protected]>
%
Almost nothing in Perl serves a single purpose.
-- Larry Wall in <[email protected]>
%
There's some entertainment value in watching people juggle nitroglycerin.
-- Larry Wall in <[email protected]>
%
Reserve your abuse for your true friends.
-- Larry Wall in <[email protected]>
%
Er, Tom, I hate to be the one to point this out, but your fix list
is starting to resemble a feature list. You must be human or something.
-- Larry Wall in <[email protected]>
%
It's hard to tune heavily tuned code. :-)
-- Larry Wall in <[email protected]>
%
Perl will always provide the null.
-- Larry Wall in <[email protected]>
%
It's easy to solve the halting problem with a shotgun. :-)
-- Larry Wall in <[email protected]>
%
Well, I think Perl should run faster than C. :-)
-- Larry Wall in <[email protected]>
%
To Perl, or not to Perl, that is the kvetching.
-- Larry Wall in <[email protected]>
%
I suppose you could switch grammars once you've seen "use strict subs". :-)
-- Larry Wall in <[email protected]>
%
Well, you know, Hubbard had a bunch of people sworn to commit suicide
when he died. So of course he never officially died...
-- Larry Wall in <[email protected]>
%
Even the White House has a press agent. :-)
-- Larry Wall in <[email protected]>
%
That's a valid argument. I just don't think it's valid enough. :-)
-- Larry Wall in <[email protected]>
%
Perl should remain fast and intuitive (to the extent that it is :-)
-- Larry Wall in <[email protected]>
%
I would estimate that the number of programs it breaks in the world
will be less than 10. As long as one of those 10 isn't CGI.pm, we're
probably okay.
-- Larry Wall in <[email protected]>
%
Just put in another goto, and then it'll be readable. :-)
-- Larry Wall in <[email protected]>
%
Doing linear scans over an associative array is like trying to club
someone to death with a loaded Uzi.
-- Larry Wall
%
I'm reminded of the day my daughter came in, looked over my shoulder at
some Perl 4 code, and said, "What is that, swearing?"
-- Larry Wall in <[email protected]>
%
Y'know, there are other possibilities if we assume that filenames
are UTF-8...yikes...wait, put down that meat cleaver! Aieeee!!!
-- Larry Wall in <[email protected]>
%
print rand rand rand 1, "\n"; # interesting distribution
-- Larry Wall in <[email protected]>
%
: I could understand principles of Perl source in 2-3 days [. . .]
Gee, it took me about eleven years. :-)
-- Larry Wall in <[email protected]>
%
There's often more than one correct thing.
There's often more than one right thing.
There's often more than one obvious thing.
-- Larry Wall in <[email protected]>
%
I don't believe I've ever cuddled my elses.
-- Larry Wall in <[email protected]>
%
I've always maintained a cordial dislike for indent, because it's usually
right.
-- Larry Wall in <[email protected]>
%
I'd make people say 'use Fork;' if I thought I could get away with it.
-- Larry Wall in <[email protected]>
%
The way I see it, if you declare something portable, you'll always be
wrong, and if you declare it non-portable, you'll always be right. :-)
-- Larry Wall in <[email protected]>
%
Perhaps you should compile your Perl with long doubles one of these
megaseconds.
-- Larry Wall in <[email protected]>
%
But we can both blame it all on Henry.
-- Larry Wall on perl's regex engine
%
: Why Bible quotes exclusively? What happened to the Eastern religions?
I'm still working on the Unicode mods.
-- Larry Wall in <[email protected]>
%
Maybe we should take a clue from FTP and put in an option like "print
hash marks on every 1024 iterations". :-)
-- Larry Wall in <[email protected]>
%
And besides, if Perl really takes off in the Windows space, I think the
rest of us would just as soon have a double-agent within ActiveState. :-)
-- Larry Wall in <[email protected]>
%
The court finds everyone to be in contempt (including himself :-), and
orders everyone sentenced to five years hard labor. (Working on Perl,
of course.)
-- Larry Wall in <[email protected]>
%
I note that the Python folks still think they like JPython. I wonder
how long that will last?
-- Larry Wall in <[email protected]>
%
I view the JVM as just another architecture that Perl ought to be ported to.
(That, and the Underwood typewriter...)
-- Larry Wall in <[email protected]>
%
So please don't think I have a "down" on the MVS people. I'm just pulling
off their arms to beat other people over the head with.
-- Larry Wall in <[email protected]>
%
It's, uh, pseudo code. Yeah, that's the ticket...
[...]
And "unicode" is pseudo code for $encoding. :-)
-- Larry Wall in <[email protected]>
%
: What do people think?
What, do people think? :-)
-- Larry Wall in <[email protected]>
%
Well, sure, I explicitly mentioned "vtables" last time I brought this
up. But a single pointer is fairly paltry, as tables go. :-)
-- Larry Wall in <[email protected]>
%
I dunno. Perhaps you should be happy that I have a policy of refraining
from grumbling about handicapped operating systems. :-)
-- Larry Wall in <[email protected]>
%
Perl did not get where it is by ignoring psychological factors.
-- Larry Wall in <[email protected]>
%
On the plus side, it's a lot easier in general to find /usr/include than cpp.
-- Larry Wall in <[email protected]>
%
Psychotics are consistently inconsistent. The essence of sanity is
to be inconsistently inconsistent.
-- Larry Wall in <[email protected]>
%