use Win32::Shortcut (); my $s = Win32::Shortcut->new(); $s->Path('C:\\TEMP'); $s->Save('C:\\TEMP.lnk'); # Test the shortcut. # Make sure C:\TEMP exists. # Make sure you have no windows displaying C:\TEMP. system('start "C:\\TEMP.lnk"');