Something like this should do it (untested).
in reply to Get file part from the section where the matched pattern is found.
If the pattern '* disks' can span multiple lines then the solution is more complex. But that looks like a typical set of tokens that would be found on a single line.
open (IN, '<', $file) or die "Can't open $file: $!\n";
my $patternSeen =0;
$patternSeen =1 if /\*\sdisks/; # '* disks' has been seen
next unless $patternSeen;