use strict; use File::Copy; use Expect; my $timeout = '320'; my $current = qx{pwd}; my $NB = 'NetBackup_7.6.0.1_CLIENTS2.tar.gz'; my $patch = 'NB_CLT_7.6.0.2_Patch.tar'; my $patchtar = `/bin/tar -xf $patch`; chdir("/app"); my $exp = Expect->spawn("./NB_update.install -s"); $exp->expect($timeout, [ qr/Enter pack name \(or q\) \[q\]:\s+/ => sub { $exp->send("NB_CLT_7.6.0.2\r"); exp_continue; } ], [ qr/Do you want to kill all NetBackup daemons\? \[y,n\] \(y\)\s+/ => sub { $exp->send("\r"); exp_continue; } ], [ qr/Do you want to continue the install\? \[y,n\] \(n\)\s+/ => sub { $exp->send("y\r"); exp_continue; } ], [ qr/Enter pack name \(or q\) \[q\]: \(q\)\\s+/ => sub { $exp->send("\r"); exp_continue; } ], [ qr/Do you want to restart all NetBackup daemons\? \[y,n\] \(y\)\s+/ => sub { $exp->send("\r"); exp_continue; } ], ); $exp->soft_close(); chdir("../");