News for hackers. Stuff that matters.
Re:No-op statements syntactically valid only since Python X.Y by eesmith on Monday June 06, 2022 @11:49AM (#31642005)
Here' an ancient hack that showed how that might look like - http://dalkescientific.com/Python/python4ply-tutorial.html#m... .

  count = 0
  t1 = time.time()
  for line in open("nucleosome.pdb"):
    if line =~ m/(ATOM  |HETATM)/:
        count += 1
  print count, "atoms in", time.time()-t1, "seconds"
It used it own PLY-based parser to generate the Python AST.

None of it would work now. :)

Re:No-op statements syntactically valid only since Python X.Y by eesmith on Monday June 06, 2022 @02:54PM (#31644263)
I realize now how much of a hack it is. The portion 'm/(ATOM |HETATM)/' could be part of valid Python expression, as:

  >>> ATOM = HETATM = 1
  >>> m = 2
  >>> m/(ATOM  |HETATM)/1
  2.0
so either m// is enabled only after =~, or there has to be some way to recognize the lexically correct match term -- something more powerful than the "m/[^/]*/[a-z]*" used here.