If you're curious about the binary .lnk format read Image::ExifTool::LNK
exiftool can read .lnk files and dump the data without using Win32::OLE , works even on linux
$ exiftool local.file.xp.test
ExifTool Version Number : 9.13
File Name : local.file.xp.test
Directory : D:/shellify.0.4.src/ShellifyTest/Fil
+es
File Size : 498 bytes
File Modification Date/Time : 2010:07:24 10:19:18-07:00
File Access Date/Time : 2013:02:22 05:10:21-08:00
File Creation Date/Time : 2013:02:22 02:27:09-08:00
File Permissions : rw-rw-rw-
File Type : Windows Shortcut
MIME Type : application/octet-stream
Flags : IDList, LinkInfo, RelativePath, Work
+ingDir, Unicode
File Attributes : Archive
Create Date : 2004:08:19 05:16:19-07:00
Access Date : 2010:07:09 00:37:36-07:00
Modify Date : 2004:08:05 04:00:00-07:00
Target File Size : 2
Icon Index : (none)
Run Window : Normal
Hot Key : (none)
Target File DOS Name : desktop.ini
Drive Type : Fixed Disk
Volume Label : SYSTEM
Local Base Path : C:\WINDOWS\desktop.ini
Relative Path : .\desktop.ini
Working Directory : C:\WINDOWS
Machine ID : al-0145