my @match; while (<>)) { my @caps = /pat/ or next; @match = @caps; } if (@match) { print("Captured @match\n"); } else { die("No match\n"); } #### my $match; while (<>)) { $match = $_ if /pat/; } if (defined($match)) { print("Matched $match"); } else { die("No match\n"); }