in reply to Got some problem with read write file

m/\d \t (\w+) \t \.+/g

Your input doesn't seem to contain a space between the first digit and the tab following it, similarly, there's no space after the tab, etc. Maybe you wanted to use the /x modifier, too, which ignores unescaped space?

That still would'n work, though, as \.+ means "at least one dot", but there's no dot after the tab. Maybe you wanted to use .+ , which will make the regex work - but it's useless, you don't need it at all. Also, there's no point to use the /g modifier, as you only match once (there's an if , not a while ), so just say

if ($line =~ /\d \t (\w+) \t/x) {
($q=q:Sq=~/;[c](.)(.)/;chr(-||-|5+lengthSq)`"S|oS2"`map{chr |+ord }map{substrSq`S_+|`|}3E|-|`7**2-3:)=~y+S|`+$1,++print+eval$q,q,a,