system("ls"); system("ls > x.txt") && die "nelze vytvorit soubor x.txt"; $adr = system("ls > x.txt");Prvni prikaz vypise na standardni vystup obsah adresare,
Vice prikazu v parametru se oddeli strednikem nebo znakem pro konec radku. Napr:
system("ls > x.txt; cat x.txt; who");Funkce system() muze mit take vice parametru , ktere se uvani oddelene carkou. Prvni parametr je interpretovan jako prikaz a tedy spusten. Dalsi parametry jsou interpretovany jako parametry spusteneho prikazu. Priklad:
system "cat","x.txt","a.txt";Provede prikaz cat, kteremu jako parametry preda soubor x.txt a a.txt.
$datum = "dnes je ".`date`; $uz = "seznam uzivatelu\n".`who`; print $datum; print $uz;Toto spusteni prikazu vraci hodnotu ve tvaru retezce, ktery je potreba ulozit do promenne, neposila nic na standardni vystup. Pouzijeme-li toto volani v kontextu pole (napr. spolu s funkci foreach) vraci viceradkovy vysledek prikazu jako seznam retezcu (radek). Priklad:
foreach $rad (`who`) { $rad =~ /(\S+)\s+(\S+)\s+(.*)/; print "kdo $1 kde $2 kdy $3\n"; }
Priklad:
Obsah adresare muzeme predat k dalsimu zpracovani prikazem:
open(ADR,"ls |") || die "chyba\n";
kde: ls je prikaz unixu pro vypis adresare, prikaz die vypise na standardni vystup uvedenou zpravu, pokud neni mozne provest open.
E-mail muzeme ze scriptu vyhodne poslat napr.
open(ZPRAVA,"| mailx Zprava $adr);
kde: mailx je unixovy program pro e-mail, Zprava je subject mailu a $adr je promenna obsahujici adresata.