I tried assigning it to an array and took out the '_':
@foo = ('pfo' .. 'pctpfo' );
This didn't work, in fact I let it run to see if it would eventually come up with something ... instead it took my machine with it (fun to cause a hard reboot in Linux every now and then right?). Anyway that makes me suspect there is some kind of memory leak.
Oddly enough its not the length of the string: Using 'aaaaaaaaa' worked just fine so it must have to do something different when there are several different characters