--- manifest
File{
        notify  => Exec["helloworld"]
}

file{"/tmp/trigger":
        content => "boom"
}

exec{"helloworld":
        command => "date > /tmp/triggered",
        path    => "/bin"
}
---

--- run
% puppet --debug --verbose test.pp
debug: File[/tmp/trigger]: Adding default for notify
debug: Creating default schedules
debug: /Settings[top]/Settings[filebucket]/File[/home/rip/.puppet/var/clientbucket]: File does not exist
debug: /Settings[top]/Settings[filebucket]/File[/home/rip/.puppet/var/clientbucket]: Changing ensure
debug: /Settings[top]/Settings[filebucket]/File[/home/rip/.puppet/var/clientbucket]: 1 change(s)
debug: /Settings[top]/Settings[filebucket]/File[/home/rip/.puppet/var/clientbucket]/ensure: created
debug: Finishing transaction -605765258 with 1 changes
debug: //File[/tmp/trigger]/notify: subscribes to Exec[helloworld]
debug: //File[/tmp/trigger]: File does not exist
debug: //File[/tmp/trigger]/checksum: Initializing checksum hash
debug: //File[/tmp/trigger]: Changing content
debug: //File[/tmp/trigger]: 1 change(s)
debug: //File[/tmp/trigger]: Creating checksum {md5}65079b006e85a7e798abecb99e47c154
notice: //File[/tmp/trigger]/content: created file with contents {md5}65079b006e85a7e798abecb99e47c154
info: //File[/tmp/trigger]: Scheduling refresh of Exec[helloworld]
debug: //Exec[helloworld]: Changing returns
debug: //Exec[helloworld]: 1 change(s)
debug: //Exec[helloworld]: Executing 'date > /tmp/triggered'
debug: Executing 'date > /tmp/triggered'
notice: //Exec[helloworld]/returns: executed successfully
notice: //Exec[helloworld]: Triggering 'refresh' from 1 dependencies
debug: //Exec[helloworld]: Executing 'date > /tmp/triggered'
debug: Executing 'date > /tmp/triggered'
debug: Finishing transaction -606086608 with 2 changes
----


--- result 
% cat /tmp/triggered
Wed Jul  2 21:29:07 BST 2008
---