New here? ⇒ I want to ask a question of the Perl Monks. Where do I start?
Notices:
| • erzuuli | ‥ Anonymous 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!
Perl News
|
Formally announcing Perl Magpie
on Jun 07, 2025 at 04:16
|
0 replies
|
by choroba
|
A newer modern CPAN Tester frontend: Announcement on Reddit
map{substr$_->[0],$_->[1]||0,1}[\*||{},3],[[]],[ref qr-1,-,-1],[{}],[sub{}^*ARGV,3]
|
Call for Papers! - Perl Community Conference, Summer 2025
on May 10, 2025 at 22:41
|
0 replies
|
by oodler
|
This is a hybrid (in-person and virtual) conference being held in Austin, TX on July 3rd-4th.
Did you miss your chance to speak or wish to speak at the only available Perl Science Track (and get published in the Science Perl Journal)? Or maybe you just can't get enough Perl this summer??? Read on ...
The following lengths will be accepted for publication and presentation:
- Science Perl Track: Full-length paper (10-36 pages, 50-minute speaker slot)
- Science Perl Track: Short paper (2-9 pages, 20-minute speaker slot)
- Science Perl Track: Extended Abstract (1 page, 5-minute lightning talk slot)
- Normal Perl Track (45-minute speaker slot, no paper required)
Don’t wait! Submit a paper or talk today. All published authors will be presenting their papers at this hybrid (in-person and virtual) 2-day conference being held on July 3-4, 2025 in Austin, TX; and attendance will be free for everyone, but you must be registered and donations are kindly appreciated.
Also posted at at BPO: https://blogs.perl.org/users/oodler_577/2025/05/call-for-papers---perl-community-conference-summer-2025.html and at l'reddit's: r/perlcommunity.
|
|
Supplications
|
Funny-business with Win32 extension module build
1 direct reply — Read more / Contribute
|
by Intrepid
on Jun 04, 2025 at 17:10
|
|
Under StrawberryPerl I'm having some difficulty building Win32::Exe and I'd like to get opinions from those more familiar with XS-using modules than I am.
Here's what the distribution package contains, in tree format, after I did a
'make clean'.
Win32-Exe-0.17-0/
|--Changes
|--MANIFEST
|--META.yml
|--Makefile.PL
|--Makefile.old
|--README
|--insert
| |--InsertResourceSection.xs
| |--Makefile.PL
| |--Makefile.old
| |--t
| | |--0-load.t
| | `--1-basic.t
| `--typemap
|--lib
| `--Win32
| |--Exe
| | |--Base.pm
| | |--DataDirectory.pm
| | |--DebugDirectory.pm
| | |--DebugTable.pm
| | |--IconFile.pm
| | |--InsertResourceSection.pm
| | |--Manifest
| | | `--Parser.pm
| | |--Manifest.pm
| | |--PE
| | | |--Header
| | | | |--PE32.pm
| | | | `--PE32Plus.pm
| | | `--Header.pm
| | |--PE.pm
| | |--Resource
| | | |--GroupIcon.pm
| | | |--Icon.pm
| | | |--Manifest.pm
| | | `--Version.pm
| | |--Resource.pm
| | |--ResourceData.pm
| | |--ResourceEntry
| | | |--Id.pm
| | | `--Name.pm
| | |--ResourceEntry.pm
| | |--ResourceTable.pm
| | |--Section
| | | |--Code.pm
| | | |--Data.pm
| | | |--Debug.pm
| | | |--Exports.pm
| | | |--Imports.pm
| | | `--Resources.pm
| | `--Section.pm
| `--Exe.pm
|--script
| `--exe_update.pl
`--t
|--0-pod.t
|--1-basic.t
|--2-icon.t
|--3-manifest.t
|--4-execupdate.t
|--application.xml
|--empty.xml
|--hd.ico
|--par.ico
|--winexe32.exe
`--winexe64.exe
The error in the make step is this:
gcc -c -std=c99 -DWIN32 -DWIN64 -DPERL_TEXTMODE_SCRIPTS -DMULTIPLICITY
+ -DPERL_IMPLICIT_SYS -DUSE_PERLIO -D__USE_MINGW_ANSI_STDIO -fwrapv -f
+no-strict-aliasing -mms-bit fields -O2 -DVERSION=\"0.17\" -DXS_VERSIO
+N=\"0.17\" "-ID:\SBP\perl\lib\CORE" InsertResourceSection.c
gcc: fatal error: no input files
compilation terminated.
I'm trying not to post too much from the screen so I'll just show this context for the error:
Running Mkbootstrap for InsertResourceSection ()
"D:\SBP\perl\bin\perl.exe" -MExtUtils::Command -e chmod -- 644 "Insert
+ResourceSection.bs"
"D:\SBP\perl\bin\perl.exe" -MExtUtils::Command::MM -e cp_nonempty -- I
+nsertResourceSection.bs ..\blib\arch\auto\Win32\Exe\InsertResourceSec
+tion\InsertResourceSection.bs 644
"D:\SBP\perl\bin\perl.exe" "D:\SBP\perl\lib\ExtUtils/xsubpp" -typemap
+ D:\SBP\perl\lib\ExtUtils\typemap -typemap C:\Users\somia\build\straw
+berry-perl\Win32-Exe-0.17-0\insert\typemap InsertResourceSection.xs >
+ InsertResourceSection.xsc
"D:\SBP\perl\bin\perl.exe" -MExtUtils::Command -e mv -- InsertResource
+Section.xsc InsertResourceSection.c
So the obvious thing to do is to look at the file tree for InsertResourceSection.c and it's at
Win32-Exe-0.17-0/insert/InsertResourceSection.c. That's why I say there's "Funny business." ;-(
Jun 04, 2025 at 21:09 UTC
|
It's Tuesday, so it must be the day for Trouble With Cpan
1 direct reply — Read more / Contribute
|
by Intrepid
on Jun 03, 2025 at 14:41
|
|
Hello kindly Perl votaries. I installed Strawberry Perl Portable edition to a USB drive yesterday, and today I began using it. I tried to install
a CPAN module I used in the course of trying to create a
CUFP (Almost cool: removable drive "finder" instead of windows autoplay). The module is Win32::DriveInfo. I had
installed that module a few days ago under CygwinPerl and the installation went fine.
Today when I tried to use my newly configured CPAN.pm under
portable Strawberry, I got the oddest failures. Here's what my console showed
me:
cpan[8]> install Win32::DriveInfo
Running install for module 'Win32::DriveInfo'
Fetching with HTTP::Tiny:
https://cpan.org/authors/id/M/MB/MBLAZ/Win32-DriveInfo-0.06.tar.gz
CPAN: Digest::SHA loaded ok (v6.04)
Fetching with HTTP::Tiny:
https://cpan.org/authors/id/M/MB/MBLAZ/CHECKSUMS
CPAN: Compress::Zlib loaded ok (v2.213)
Checksum for C:\Users\somia\AppData\strawberry-perl-sourcecache\author
+s\id\M\MB\MBLAZ\Win32-DriveInfo-0.06.tar.gz ok
'C:' is not recognized as an internal or external command,
operable program or batch file.
Uncompressed C:\Users\somia\AppData\strawberry-perl-sourcecache\author
+s\id\M\MB\MBLAZ\Win32-DriveInfo-0.06.tar.gz successfully
Using Tar:C:/ix/cygwin/bin/tar.exe xvf "Win32-DriveInfo-0.06.tar":
Win32-DriveInfo-0.06/
Win32-DriveInfo-0.06/Makefile.PL
Win32-DriveInfo-0.06/DriveInfo.pm
Win32-DriveInfo-0.06/Changes
Win32-DriveInfo-0.06/test.pl
Win32-DriveInfo-0.06/README
Win32-DriveInfo-0.06/MANIFEST
Untarred Win32-DriveInfo-0.06.tar successfully
CPAN: CPAN::Meta::Requirements loaded ok (v2.143)
CPAN: CPAN::Meta loaded ok (v2.150010)
Package contains both files[Win32-DriveInfo-0.06.tar] and directories[
+Win32-DriveInfo-0.06]; not recognized as a perl package, giving up
Configuring M/MB/MBLAZ/Win32-DriveInfo-0.06.tar.gz with Makefile.PL
Running make for M/MB/MBLAZ/Win32-DriveInfo-0.06.tar.gz
make: *** No targets specified and no makefile found. Stop.
MBLAZ/Win32-DriveInfo-0.06.tar.gz
C:/ix/cygwin/bin/make.exe -- NOT OK
Stopping: 'install' failed for 'Win32::DriveInfo'.
The same fatal error took place just now when I tried to build/install Win32::Env. Does anyone have any idea why I'd see this failure?
Jun 03, 2025 at 18:32 UTC
|
integer pragma buggy? (ANSWERED)
No replies — Read more | Post response
|
by LanX
on Jun 02, 2025 at 18:14
|
|
(in continuation to Re^7: Largest integer in 64-bit perl (RFC))
According to integer it'll adjust the ** operation to integer, even on 64bit machines.
This seems to break as soon as the precision of floats at 53bits is exceeded°
Am I missing something?
$ perl
$\="\n";
print log(3**34)/log(2);
use integer;
print int(3**34);
__END__
53.8887250245193
16677181699666570
NB: a power to the basis 3 can't ever be even (odd*odd is odd) and the correct number is 16677181699666569 according to Math::BigInt ...
To answer my own question ...
... it's documented, doh.
> The power operator ** is also not affected,
I was confused by the fact that the synopsis explicitly shows the power operator.
> $a = 2**31 - 1; # Largest positive integer on 32-bit machines
Honestly I thing integer is far too incomplete to be of big use.
°) or more likely never have been properly implemented in the first place, because it was developped and tested on 32bit machines
|
|
|
|