Beefy Boxes and Bandwidth Generously Provided by pair Networks
Perl: the Markov chain saw
 
PerlMonks  

The Monastery Gates

( [id://131]=superdoc: print w/replies, xml ) Need Help??

New here?I want to ask a question of the Perl Monks. Where do I start?

Notices:

hippoepoptai's answer Re: how do I set a cookie and redirect was blessed by hippo!
erzuuliAnonymous Monks are no longer allowed to use Super Search, due to an excessive use of this resource by robots.

If you're new here, please read PerlMonks FAQ
and Create a new user!

Quests
poll ideas quest 2026
Starts at: Jan 01, 2026 at 00:00
Ends at: Dec 31, 2026 at 23:59
Current Status: Active
0 replies by pollsters
    First, read How do I create a Poll?. Then suggest your poll here. Complete ideas are more likely to be used.

    Note that links may be used in choices but not in the title.

Perl News
Call for Participation - Summer Perl Community Conference July 3-4
on Jun 17, 2026 at 01:02
0 replies by oodler
Perl as munitions, revisited
on Jun 15, 2026 at 11:36
1 reply by mldvx4

    The other day, John Cook revisited the RSA munitions T-shirt featuring a Perl one-liner from 1995. He points out that the one-liner calls the shell in order to invoke dc for computing mk mod n using fast exponentiation.

    In some analysis from 1995:

    "Any body can then encrypt a reply to you by saving and running the perl code, without needing PGP installed on their system."
Supplications
Removal of "-std=c99" from perl compilation flags.
1 direct reply — Read more / Contribute
by syphilis
on Jun 29, 2026 at 00:06
    Hi,

    On ubuntu and freebsd, when building perl from source, the initial compilations all include the -std=c99 switch.

    It's not immediately apparent to me where the inclusion of that switch comes from.
    Nor could I come up with a Configure option that removes it.

    On Windows, I've been removing that switch from my builds ever since it was introduced to them - with no adverse affects, afaik.
    In fact, if I don't remove it from Windows, then -std=c99 ends up in ccflags which is probably unintended, and has caused one unwanted issue that I know of.

    Anyway ... I'm just curious to see how/if my linux builds are affected by this.
    If someone here has a suggestion on how to remove that -std=c99 switch, then please share.

    Cheers,
    Rob
Net::Curl with new libcurl fails all tests named "*multi*"
2 direct replies — Read more / Contribute
by Intrepid
on Jun 25, 2026 at 14:25

    Greetings again, monks (and nuns). I am attempting to build Net-Curl-0.58 to a Debian Linux system; there are multiple hanging tests. I have to ^C to terminate the processes each time we hit one of these. I don't know whether these failures are happening because of libcurl or because of Perl code in the module or tests.

    The hanging tests all appear to be related, based on their names:

    
      * t/60-multi-wait.t
      * t/compat-19multi.t
      * t/old-19multi.t
      * t/old-24-multi-refcount.t
    (and possibly others)
    

    Here is the info dumped by the first test to run, which handily specifies the version of libcurl:

    t/00-info.t ................................ # libcurl # version(): # libcurl/8.21.0-rc3 OpenSSL/3.0.20 zlib/1.2.13 brotli/1.0.9 zst +d/1.5.4 libpsl/0.21.2 # version_info(): # {age} = 11; # {ares_num} = 0; # {features} = # | CURL_VERSION_IPV6 (1<<0) # | CURL_VERSION_SSL (1<<2) # | CURL_VERSION_LIBZ (1<<3) # | CURL_VERSION_ASYNCHDNS (1<<7) # | CURL_VERSION_LARGEFILE (1<<9) # | CURL_VERSION_TLSAUTH_SRP (1<<14) # | CURL_VERSION_UNIX_SOCKETS (1<<19) # | CURL_VERSION_PSL (1<<20) # | CURL_VERSION_HTTPS_PROXY (1<<21) # | CURL_VERSION_BROTLI (1<<23) # | CURL_VERSION_ALTSVC (1<<24) # | CURL_VERSION_ZSTD (1<<26) # | CURL_VERSION_HSTS (1<<28) # | CURL_VERSION_THREADSAFE (1<<30); # missing features = # | CURL_VERSION_KERBEROS4 (1<<1) # | CURL_VERSION_NTLM (1<<4) # | CURL_VERSION_GSSNEGOTIATE (1<<5) # | CURL_VERSION_DEBUG (1<<6) # | CURL_VERSION_SPNEGO (1<<8) # | CURL_VERSION_IDN (1<<10) # | CURL_VERSION_SSPI (1<<11) # | CURL_VERSION_CONV (1<<12) # | CURL_VERSION_CURLDEBUG (1<<13) # | CURL_VERSION_NTLM_WB (1<<15) # | CURL_VERSION_HTTP2 (1<<16) # | CURL_VERSION_GSSAPI (1<<17) # | CURL_VERSION_KERBEROS5 (1<<18) # | CURL_VERSION_MULTI_SSL (1<<22) # | CURL_VERSION_HTTP3 (1<<25) # | CURL_VERSION_UNICODE (1<<27) # | CURL_VERSION_GSASL (1<<29); # {host} = 'i686-pc-linux-gnu'; # {iconv_ver_num} = 0; # {libz_version} = '1.2.13'; # {protocols} = dict, file, ftp, ftps, gopher, gophers, http, ht +tps, imap, imaps, mqtt, mqtts, pop3, pop3s, rtsp, smtp, smtps, telnet +, tftp, ws, wss; # {ssl_version} = 'OpenSSL/3.0.20'; # {ssl_version_num} = 0; # {version} = '8.21.0-rc3'; # {version_num} = 0x081500; # build version: # LIBCURL_COPYRIGHT = 'Daniel Stenberg, <daniel@haxx.se>.' # LIBCURL_VERSION = '8.21.0-rc3' # LIBCURL_VERSION_NUM = 0x081500 # LIBCURL_VERSION_MAJOR = 8 # LIBCURL_VERSION_MINOR = 21 # LIBCURL_VERSION_PATCH = 0 # LIBCURL_TIMESTAMP = '2026-06-17' t/00-info.t ................................ ok

    Those monks with sharp eyes will notice that I am linking to a testing version of libcurl, 8.21.0-rc3. This could certainly be the reason for the failed tests / hanging tests. That would surprise me, however; I'd think a few tests might fail but not this entire group.

    I had to change perl code in the Makefile.PL in order to get this to build. The author was comparing v-strings and "8.21.0-rc3" doesn't comprise a valid v-string, as I found out by doing a little online research.

    I took what the author did, this:

    (my $ver_to_cmp = $curl{version}) =~ s/[^\d]*$//;
    and changed it to this:
    (my $ver_to_cmp = $curl{version}) =~ s/[^.\d]\w+$//;

    I know - bad monkey, bad! ;-)

    Jun 25, 2026 at 18:14 UTC

    A just machine to make big decisions
    Programmed by fellows (and gals) with compassion and vision
    We'll be clean when their work is done
    We'll be eternally free yes, and eternally young
    Donald Fagen —> I.G.Y.
    (Slightly modified for inclusiveness)

Log In?
Username:
Password:

What's my password?
Create A New User
Domain Nodelet?
Chatterbox?
and the web crawler heard nothing...

How do I use this?Last hourOther CB clients
Other Users?
Others having a coffee break in the Monastery: (2)
As of 2026-07-01 17:55 GMT
Sections?
Information?
Find Nodes?
Leftovers?
    Voting Booth?

    No recent polls found

    Notices?
    hippoepoptai's answer Re: how do I set a cookie and redirect was blessed by hippo!
    erzuuliAnonymous Monks are no longer allowed to use Super Search, due to an excessive use of this resource by robots.