Re: iterate over the use-d modules

Andy Bach <[email protected]> Tue, 1 Oct 2024 14:54:50 -0500
Newsgroups gmane.comp.lang.perl.beginners
Message-ID <CACV6rW+cxtO44Jt_G54+oH4XYTmB2Et1hBh2Rn6XG=jwkKqWaA@mail.gmail.com>
--0000000000006c71c506236fb2cf
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: quoted-printable

Well, I was close ;-> Thanks, I knew it was somewhere.
 perl -E 'use strict; use Carp; my @mod =3D map { s/.pm//; $_ } keys %INC ;
say  "$_: ", eval "\$" . $_  . "::VERSION" foreach @mod'
Exporter: 5.76
feature: 1.64
strict: 1.12
overloading: 0.02
Carp: 1.52
warnings: 1.51

On Tue, Oct 1, 2024 at 11:30=E2=80=AFAM Levi Nystad-Johansen via beginners =
<
[email protected]> wrote:

> @INC contains all locations modules can be loaded from.
> %INC contains all modules that have been loaded.
>
> See https://perldoc.perl.org/perlvar#%INC
>
> say for keys %INC;
>
> -Levi
>
>
> -------- Opprinnelig melding --------
> Den 01.10.2024 17:31, Andy Bach skrev:
>
> Look at perldoc for "require" but I believe what you want is @INC in plac=
e
> of your @used.  Hmm, maybe not
> % perl -E 'use strict; say  for ( @INC );'
> /Library/Perl/5.34/darwin-thread-multi-2level
> /Library/Perl/5.34
> /Network/Library/Perl/5.34/darwin-thread-multi-2level
> /Network/Library/Perl/5.34
> /Library/Perl/Updates/5.34.1
> /System/Library/Perl/5.34/darwin-thread-multi-2level
> /System/Library/Perl/5.34
> /System/Library/Perl/Extras/5.34/darwin-thread-multi-2level
> /System/Library/Perl/Extras/5.34
>
> On Tue, Oct 1, 2024 at 5:20=E2=80=AFAM Luca Ferrari <[email protected]>=
 wrote:
>
>> Hi all,
>> is there a way to iterate over the used modules, I mean every symbol
>> loaded with use?
>> I would like to do something like:
>>
>> use Foo;
>> use Bar;
>>
>> say ${ $_ }::VERSION for ( @used );
>>
>> and get something like
>>
>> say $Foo::VERSION;
>> say $Bar::VERSION;
>>
>>
>> Thanks,
>> Luca
>>
>> --
>> To unsubscribe, e-mail: [email protected]
>> For additional commands, e-mail: [email protected]
>> http://learn.perl.org/
>>
>>
>>
>
> --
>
> a
>
> Andy Bach,
> [email protected]
> 608 658-1890 cell
> 608 261-5738 wk
>
>

--=20

a

Andy Bach,
[email protected]
608 658-1890 cell
608 261-5738 wk

--0000000000006c71c506236fb2cf
Content-Type: text/html; charset="UTF-8"
Content-Transfer-Encoding: quoted-printable

<div dir=3D"ltr">Well, I was close ;-&gt; Thanks, I knew it was somewhere.<=
div>=C2=A0perl -E &#39;use strict; use Carp; my @mod =3D map { s/.pm//; $_ =
} keys %INC ; say =C2=A0&quot;$_: &quot;, eval &quot;\$&quot; . $_ =C2=A0. =
&quot;::VERSION&quot; foreach @mod&#39;<br>Exporter: 5.76<br>feature: 1.64<=
br>strict: 1.12<br>overloading: 0.02<br>Carp: 1.52<br>warnings: 1.51<br></d=
iv></div><br><div class=3D"gmail_quote"><div dir=3D"ltr" class=3D"gmail_att=
r">On Tue, Oct 1, 2024 at 11:30=E2=80=AFAM Levi Nystad-Johansen via beginne=
rs &lt;<a href=3D"mailto:[email protected]">[email protected]</a>&gt; wro=
te:<br></div><blockquote class=3D"gmail_quote" style=3D"margin:0px 0px 0px =
0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex"><p dir=3D"lt=
r">@INC contains all locations modules can be loaded from. <br>
%INC contains all modules that have been loaded.</p>
<p dir=3D"ltr">See <a href=3D"https://perldoc.perl.org/perlvar#%INC" target=
=3D"_blank">https://perldoc.perl.org/perlvar#%INC</a></p>
<p dir=3D"ltr">say for keys %INC;</p>
<p dir=3D"ltr">-Levi</p>
<div>
 <br>
 <br>
  -------- Opprinnelig melding --------=20
 <br>
  Den 01.10.2024 17:31, Andy Bach <u></u>
  skrev:=20
  <br>
  <blockquote>
   <div dir=3D"ltr">
    Look at perldoc for &quot;require&quot; but I believe=C2=A0what you wan=
t is=C2=A0@INC in place of your=C2=A0@used.=C2=A0 Hmm, maybe not=20
    <div>
     % perl -E &#39;use strict; say =C2=A0for ( @INC );&#39;=20
     <br>
      /Library/Perl/5.34/darwin-thread-multi-2level=20
     <br>
      /Library/Perl/5.34=20
     <br>
      /Network/Library/Perl/5.34/darwin-thread-multi-2level=20
     <br>
      /Network/Library/Perl/5.34=20
     <br>
      /Library/Perl/Updates/5.34.1=20
     <br>
      /System/Library/Perl/5.34/darwin-thread-multi-2level=20
     <br>
      /System/Library/Perl/5.34=20
     <br>
      /System/Library/Perl/Extras/5.34/darwin-thread-multi-2level=20
     <br>
      /System/Library/Perl/Extras/5.34=20
     <br>
    </div>
   </div>
   <br>
   <div class=3D"gmail_quote">
    <div dir=3D"ltr" class=3D"gmail_attr">
     On Tue, Oct 1, 2024 at 5:20=E2=80=AFAM Luca Ferrari &lt;<a href=3D"mai=
lto:[email protected]" target=3D"_blank">[email protected]</a>&gt; wrot=
e:=20
     <br>
    </div>
    <blockquote class=3D"gmail_quote" style=3D"margin:0px 0px 0px 0.8ex;bor=
der-left:1px solid rgb(204,204,204);padding-left:1ex">
     Hi all,=20
     <br>
      is there a way to iterate over the used modules, I mean every symbol=
=20
     <br>
      loaded with use?=20
     <br>
      I would like to do something like:=20
     <br>
     <br>
      use Foo;=20
     <br>
      use Bar;=20
     <br>
     <br>
      say ${ $_ }::VERSION for ( @used );=20
     <br>
     <br>
      and get something like=20
     <br>
     <br>
      say $Foo::VERSION;=20
     <br>
      say $Bar::VERSION;=20
     <br>
     <br>
     <br>
      Thanks,=20
     <br>
      Luca=20
     <br>
     <br>
      --=20
     <br>
      To unsubscribe, e-mail: <a href=3D"mailto:beginners-unsubscribe@perl.=
org" target=3D"_blank">[email protected]</a>
     <br>
      For additional commands, e-mail: <a href=3D"mailto:beginners-help@per=
l.org" target=3D"_blank">[email protected]</a>
     <br><a href=3D"http://learn.perl.org/" rel=3D"noreferrer" target=3D"_b=
lank">http://learn.perl.org/</a>
     <br>
     <br>
     <br>
    </blockquote>
   </div>
   <br clear=3D"all">
   <div>
    <br>
   </div><span class=3D"gmail_signature_prefix">-- </span>
   <br>
   <div dir=3D"ltr" class=3D"gmail_signature">
    <br>
     a=20
    <br>
    <br>
     Andy Bach,=20
    <br><a href=3D"mailto:[email protected]" target=3D"_blank">afbach@gmail.=
com</a>
    <br>
     608 658-1890 cell=20
    <br>
     608 261-5738 wk
   </div>
  </blockquote>
 <u></u>
</div></blockquote></div><br clear=3D"all"><div><br></div><span class=3D"gm=
ail_signature_prefix">-- </span><br><div dir=3D"ltr" class=3D"gmail_signatu=
re"><br>a<br><br>Andy Bach,<br><a href=3D"mailto:[email protected]" target=
=3D"_blank">[email protected]</a><br>608 658-1890 cell<br>608 261-5738 wk</d=
iv>

--0000000000006c71c506236fb2cf--