All depends on what you are trying to do.
System will work. It forks a new process for the called code, waits for it to complete and returns the exit status from the called code. If that is what you need done, then
system is the trick.
$exit_status = system("command","arg1",'arg2"

;
$exit_status = $exit_status/256; # the status from system is a little weird
Pipes are another, slight more complicated approach. With a pipe, you can spawn a child process and listen to the STDOUT from that child. So, if you want to catch some content from the child, a system call would be insufficient and a PIPE would be the way to go. It looks like opening a file, except that there is a '|' in the syntax.
open(PIPE,"command [red]|[/red]"

or die "Failed to open PIPE, $!\n";
while (<PIPE>) { $results .= $_; }
close PIPE;
If you are simply trying to gain access to a library of subs/functions, then use
require.
#!/usr/local/bin/perl
require SomeOther.pl
#.....more code here which makes use of the contents of SomeOther.pl
This a brief overview. There is a lot more to think about after you scratch the surface.
HTH
keep the rudder amid ship and beware the odd typo