More information would be useful... we shouldnt have to google to find out what exactly you are looking for. An example would be useful. And also, if you want people to respond, you'll have to be more descriptive. Especially as there are going to be people with a programming background and little biology (and vice versa) here.
I'm not sure what your definition of a palindromic sequence is... is it:
Case 1.
A sequence in which the reverse compliment is the same of the sequence itself? For example; The reverse compliment of AGCT is AGCT
Case 2.
A contiguous sequence in which the first half is equivalent to second half (the more common meaning of the word palindrome)? For example; AATGGTAA - Note, the reverse compliment is not the same.
For Case 1.
Anyway, if you're only working with small sequences (and you expect a minimum size that is relatively large) you could always brute force it with loops. Especially, if it is case 1 that you mean. I'm not sure if you could use regex here as you would need to reverse compliment a string and check it against itself (and the length of this string could be anything upto the total length of the string). Also, if you mean case 1, then the length of every palindrome must be a multiple of 2 (correct me if I'm wrong, but that would have been useful info). This is important to reduce the total number of possible checks.
Also, if this is for a coding sequence, do you need to account for reading frame and translation into codons? This adds another layer of complexity and the script I've attached at the end would need more work.
For Case 2.
The approach I would take for this would be similar to that of the first case: Used a loop to define the window size (window size would be bounded between 2 and N/2, where N is the total length of the sequence). Then use another loop (nested within the window size loop) to iterate over all of the possible offset positions. This would be bounded by 0 (start of sequence - perl functions begin with 0 and not 1) and N minus the window size.
This provides the basic search for a palindrome. You would then use 2 conditions for comparing the first half the sequence to the second half. Condition one: Window size is even. Condition two: Window size is odd.
For Condition one:
Split the sequence into two halves using substr. Then use the eq operator to see if the first half is the same as the second half.
For Condition two:
Get the length of the sequence, halve it and subtract 0.5. This is the first half of the sequence starting from 0. Use substr to get this. Then using this value as the length for substr, get the length of the sequence, halve it and add 0.5. This value is the offset used to get the second half of the sequence. Then use the eq operator to see if the first half is the same as the second half.
I hope this helps, but you shouldnt be looking at this forum as a solution to your problems. You should look at it as somewhere to get advice, to post code and get solutions for errors in the code. Failing that, at least provide more information. Also, you mentioned that you want to find palindromes in multiple sequences. Do you mean the same palindrome in multiple sequences, or just that multiple sequences contain a palindrome? Do they need to be at the same position in the difference sequences?
Sorry about the length of my email, but you were pretty vague with your question.
The script I've sent you is pretty basic, but should at least give you an idea of how to do this. You might want to improve it by using hashes and change the minimum window size (it is currently 2, but I guess the palindromic sequences you are looking for will be larger?). If you do find a REGEX solution, it would be great if you could post it here. Also, as with any script you get from someone, you should not trust that it works. Test and try to understand the code that I've sent you before you decide if it is your solution, I've only done some limited testing.
Anthony