"gugus" "gugus" ^^ here and ^^ here #### "gugus" "gugus" ^^ "gus" and ^^ "s" #### "gugus" "gugus" ^^ "gus" yes! ^^ "s" no! => match fails, keep looking => match succeeds #### "gugis" ^^ here #### "gugis" ^^ "gis" #### "gugis" ^^ "gis" yes! => match fails #### v v v v v v (everywhere) " s t a r t " #### "start" | "tart" | | "art" | | | "rt" | | | | "t" | | | | | "" v v v v v v " s t a r t " #### "start" yes => fails | "tart" no => succeeds | | "art" no => succeeds | | | "rt" no => succeeds | | | | "t" no => succeeds | | | | | "" no => succeeds v v v v v v " s t a r t " #### $ perl -wMstrict -MData::Dump while ( "start" =~ /(?!start)/pg ) { dd ${^PREMATCH}, ${^MATCH}, ${^POSTMATCH}; } __END__ ("s", "", "tart") ("st", "", "art") ("sta", "", "rt") ("star", "", "t") ("start", "", "")