http://www.perlmonks.org?node_id=847345

mr_p has asked for the wisdom of the Perl Monks concerning the following question:

Hello All,

I trying to tell the difference if I have html or xml page. The best way I thought was to do a search on first 80 character and look for '<?xml', but I don't know how to limit characters on RegEx search. If anyone know Please let me know.

Thanks You.

Replies are listed 'Best First'.
Re: Limiting search on RegEx
by kennethk (Abbot) on Jun 30, 2010 at 15:22 UTC
    As an alternative to Corion's suggestion, you can anchor your expression to the start of the string.

    /^.{0,80}\Q<?xml\E/s

    You will likely need the s modifier so . will match newlines and escaping expressions containing punctuation (\Q...\E) is a good habit to get into. See perlretut for details.

Re: Limiting search on RegEx
by Corion (Patriarch) on Jun 30, 2010 at 15:14 UTC

    Use substr on the left hand side of the regular expression.