#! perl -slw use strict; my $filename = $ARGV[0]; my( $ext ) = $filename =~ m[(\.[^.]+)$]; my( $assoc ) = `assoc $ext` =~ m[=(.+)$]; my( $ftype ) = `ftype $assoc` =~ m[=(.+)$]; $ftype =~ s[^("[^"]+?"|\S+)\K.+$][]; #" print $ftype; my $pid = system 1, $ftype, $filename; print $pid; sleep 10; kill 9, $pid;