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