    #!/usr
    # AWK hl test

    # BEGIN and END are also matched as patterns
    BEGIN {
    	p = 0;
    }

    /some pattern/ {
    	p++;
    }

    # / inside brackets is not considered end of expression
    # a loose division operator (/) is not mismatched as a pattern.
    $1 =~ /[^abc/]def/ || b == 3 / 5 {

    	gsub ( FILENAME );

    }

    # TODO and FIXME also work in comments in Awk.

    # Also backslash in patterns works.
    /\/usr\/bin\/awk/ { print "This is me"; }

    END {
    	print p;
    }

    function myfunc()
    {
        print 42
    }

    /abc/,/a[b]c/{
    	# parameter with a regex
    	if (match($0, /a/)) {}

    	"x\ax\nx\ex\zx\023x\2x\xffx\xFf\xax\12x"

    	a =~ /[[:alpha:]]/
    	a =~ /[xx[:alpha:]xx]/
    	a =~ /[a-z[:alpha:]xx-]/
    	a =~ /[]a]/
    	a =~ /[-a]/
    	a =~ /[^]a]/
    	a =~ /[^-a]/
    	a =~ /[a]a\/\n/
    	# incomplete regex
    	a =~ /[xx[:alph
    	a = 23.2
    }