diff --git a/commands/core/core.drush.inc b/commands/core/core.drush.inc
index e04c6cd..bc9ffc3 100644
--- a/commands/core/core.drush.inc
+++ b/commands/core/core.drush.inc
@@ -111,6 +111,19 @@ function core_drush_command() {
     'bootstrap' => DRUSH_BOOTSTRAP_MAX,
     'aliases' => array('eval', 'ev'),
   );
+  $items['php-return'] = array(
+    'description' => 'Evaluate arbitrary php code after bootstrapping Drupal (if available), and return the result.',
+    'examples' => array(
+      'drush php-return "module-list()"' => 'Prints the return value of module_list().',
+    ),
+    'arguments' => array(
+      'code' => 'PHP code',
+    ),
+    'required-arguments' => TRUE,
+    'allow-additional-options' => TRUE,
+    'bootstrap' => DRUSH_BOOTSTRAP_MAX,
+    'aliases' => array('ret'),
+  );
   $items['php-script'] = array(
     'description' => "Run php script(s).",
     'examples' => array(
@@ -868,6 +881,22 @@ function drush_core_php_eval($command) {
   return eval($command . ';');
 }
 
+function drush_core_php_return($command) {
+  $format = drush_get_option('format', 'print_r');
+  $ret = eval('return ' . $command . ';');
+  switch ($format) {
+    case 'print_r';
+      drush_print_r($ret);
+    break;
+    case 'export';
+      drush_print(var_export($ret, 1));
+    break;
+    case 'json';
+      drush_print(drush_json_encode($ret));
+    break;
+  }
+}
+
 /*
  * Evaluate a script that begins with #!drush php-script
  */
