Joaquin Ferrero:

> IO::Async <https://metacpan.org/release/IO-Async> - Asynchronous
> event-driven programming
> 
>    if( eval { require "IO/Async/OS/$^O.pm" } ) {
>        @ISA = "IO::Async::OS::$^O";
>    }

Cuidado con usar $^O de esta manera porque no es una variable
read-only (se podría manipular para cargar otro módulo), e.g.

    use v5.20;
    
    package Trojan;
        sub run { $^O = "../../../Trojan/trojan/$^O" }
    
    package main;
    say $^O;
    Trojan->run();
    say $^O;

Es preferible usar $Config{osname}, que sí es read-only.

Me pregunto hasta que punto esto sería una vulnerabilidad grave
de los módulos que usan $^O a saco y que tal vez habría que
informar de éllo. ¿Qué opináis?

Un saludo!
Alex
_______________________________________________
Madrid-pm mailing list
[email protected]
http://mail.pm.org/mailman/listinfo/madrid-pm

Responder a