use Mac::Plist::Writable; my $plist = Mac::Plist::Writable->from_plist_file('/path/to/some.plist'); $plist->{'CFBundleIdentifier'} = 'com.bassetsoftware.PerlMonkNode'; Mac::Plist::Writable->add_node($plist, 'NewKey', '42', 'integer'); print Mac::Plist::Writable->to_plist($plist);