in reply to Is there a system command in Linux

system does work on windows as well as on linux.
if you want to make your script portable and some portions
of it are not using portable functions and you need to
write them specifically for windows and then for linux
I suggest you make some wrapper functions wich implement
those portions like
sub f_windows { } sub f_linux { } sub f_mac { } sub specific_f { my $dispatch_os = { "MSWin32" => \&f_windows, "linux" => \&f_linux, "MacOS" => \&f_mac }; $dispatch_os->{$^O}->(@_); }
and then call specific_f whenever you need specific
behaviour for your program this should make your function portable accross
some os's.
$^O is an implicit variable in perl wich tells you
on wich os you're running the script.
you can read its documentation here

also here you'll find some code wich is
made portable accross macos,windows,linux

I don't understand what do you need HTML::Display for ?