Inline::F2003
Hi all,
I started the Inline::F2003 project in 2017 because I have a strong interest in modern Fortran and Perl programming.
The project features the Perl module Inline::F2003. This module allows modern Fortran source to be inlined and called from a Perl program. The module compiles the Fortran source and builds an executable shared library that is loaded into the Perl system.
Inline::F2003 is usually invoked at compile-time. The source fragment below shows typical use of the module.
use constant { BOOL_T => 1, BOOL_F => 0 };
use File::Spec;
use Inline F2003 => "DATA",
( FOR => "gfortran",
MAKEFILE => "matopmul.mk",
MAKEDIR => File::Spec->curdir(),
SRCLIST => [ qw( ModMatrixOps.f03 ) ],
DIRECTORY => $main::InlineRoot,
PRINT_INFO => BOOL_T );
I've uploaded a new version (1.03) to Sourceforge. The project home page is located at,
https://sourceforge.net/projects/inline-f2003/
If you are interested in Perl-Fortran interoperability I would encourage you to have a look and let me know what you think. At present the project only runs on Linux systems. All the documentation is contained in the file README.html. Please read it carefully to get a good understanding of the project.
Any comments/suggestions/questions are most appreciated.
Thank you!
I downloaded it and tried it out. On Perl 5.32.1 there is the problem that you now need to use
use lib ".";
when the library is in the same directory. This was changed a while ago due to some kind of "security" thing, so now I have all these
use FindBin '$Bin';
use lib "$Bin";
statements everywhere.
I have to say I think it would be easier to upload this to CPAN then one can install it just using cpanm.
Hi Ben,
I really appreciate you trying out Inline::F2003. And... thank you for reporting the bug. Clearly I need to add the latest Perl release into my test procedure from here on.
As for CPAN, yes, I can see that would be more convenient. There are several reasons I've decided against a CPAN package; one being that I feel the module is not yet sufficiently mature.
Thanks again for your time!
Ron.
It's OK to upload unfinished modules to CPAN.
File::Find is not only on CPAN but in the Perl core and yet it is insufficiently mature to have sensible functionality or documentation.
Just think "My module cannot possibly be worse than File::Find" then it's OK to upload it.
Go go go!